Commit Graph

1191 Commits

Author SHA1 Message Date
Tim Allen
9e142c6643 markdown.kak: Use lookahead/lookbehind assertions for formatting spans.
Previously, one of the syntaxes for italic was (greatly summarized) something
like this:

    [^_]_[^_]+_[^_]

That is to say, the regex matched the blanks on both sides of the italic span,
as well as the actual span content. That means that if you had consecutive
italic words:

    _some_ _italic_ _words_

...only the odd-numbered words would be highlighted: the space after "_some_"
was counted as part of that span, so it wasn't available as part of "_italic_"
and therefore "_italic_" wouldn't be highlighted. Likewise, if the first word
in a buffer was italic, it wouldn't be highlighted because the first underscore
was not preceded by a non-underscore character!

Now we use lookahead/lookbehind assertions, which don't count as part of the
matched span, so consecutive spans don't interfere with one another.

Fixes #2111.
2018-09-18 19:21:28 +10:00
Tim Allen
535abe2ba7 markdown.kak: Clean up code-block and code-span formatting.
Previously, a code block was anything between triple-backtics, including inline
blocks:

        some text ```
        not a codeblock, but highlighted as one
        ``` other text

and even if the closing backticks had the wrong indent:

        ```
        this is a code block containing a triple backtick
            ```
        this is still a code block, but Kakoune thinks otherwise
        ```

Now we use the -match-capture flag to ensure the start and end fences have
exactly the same indent.

Previously, the generic code-block region was defined first, which meant that
it took priority over all the language-specific highlighters. Now we define
the generic code-block highlighting *after* the others, which fixes #2304.

Previously, code-spans were defined as ordinary inline markup, but in Markdown
ordinary formatting doesn't work inside code-spans. Therefore, they are now
regions unto themselves, defined according to section 6.3 of the CommonMark
spec <https://spec.commonmark.org/0.28/#code-spans>, which addresses a comment
on #2111.
2018-09-18 19:18:32 +10:00
Justin Frank
f6d5b23122 fixed hooks running when entered character was not alone on the line 2018-09-16 20:53:23 -07:00
Justin Frank
391e58625f fixed mistakenly indenting matching characters 2018-09-16 17:05:32 -07:00
Maxime Coste
c8fd1e1cf6 Merge remote-tracking branch 'laelath/c-indent-edits' 2018-09-13 20:42:04 +10:00
Maxime Coste
b8d312cfe0 Merge remote-tracking branch 'laelath/kakrc-indent-edit' 2018-09-12 21:01:33 +10:00
Justin Frank
22bda7a7d2 removed unnecessary gi in matching deindent hook 2018-09-12 00:04:05 -07:00
Justin Frank
852d22a543 changed opening matching regexes to be simpler 2018-09-12 00:04:05 -07:00
Justin Frank
2f0b0d468c added auto deindent to kak files 2018-09-12 00:04:05 -07:00
Justin Frank
fa9d13700a Added deindenting of single statements 2018-09-11 21:21:25 -07:00
Maxime Coste
d65c99a448 Further fixes in go-tools.kak to improve its robustness 2018-09-10 21:22:32 +10:00
Maxime Coste
73b6f0994f Merge remote-tracking branch 'swdunlop/master' 2018-09-10 21:18:07 +10:00
Maxime Coste
d57203f41f Merge remote-tracking branch 'laelath/clang-fixes' 2018-09-10 19:41:08 +10:00
Justin Frank
0f8caceac5 fixed highlighting of exec lines 2018-09-08 14:00:00 -07:00
Justin Frank
5c8a756d56 fixed showing parse errors not working 2018-09-08 11:39:30 -07:00
Justin Frank
558d4b864a added autoindentation and comment copying to i3 syntax support 2018-09-06 21:53:04 -07:00
Jason Felice
1b1119e85c Improve Clojure highlighting 2018-09-04 20:44:25 -04:00
Scott W. Dunlop
575b02b171 go-tools.kak: quote completions and scope
Since the gocode completions contain white space, they cannot be used without quotations.

Also, since I'm in there, the buffer should be quoted for heathens who use white space in their paths.
2018-09-04 11:41:35 -07:00
Scott W. Dunlop
48f23f0312 go-tools.kak: fix set-options for go completions
Restores Go completions, as discussed in #2215
2018-09-04 10:58:57 -07:00
Justin Frank
15bf1c7614 updated kitty integration to use the no-response switch 2018-09-01 12:14:33 -07:00
Emerson Ferreira
5e8727ad1b
Add support for Void Linux package templates
These templates are simple shell scripts, similar to PKGBUILDs.
They reside in srcpkgs, so we can use this to identify if
`template` really is a Void Linux package template.
2018-08-20 14:29:32 -03:00
Maxime Coste
a91fc83bfe Merge remote-tracking branch 'lenormf/fix-git' 2018-08-20 07:56:32 +10:00
Maxime Coste
1904202d05 Merge remote-tracking branch 'lenormf/fix-lisp' 2018-08-20 07:49:21 +10:00
Frank LENORMAND
802f51c02a rc git: Support new rebase commands 2018-08-19 07:44:00 +03:00
Maxime Coste
a8dce6abcd Merge remote-tracking branch 'aver-d/dart_comment' 2018-08-19 08:05:25 +10:00
Maxime Coste
1485150b68 Use -once hooks to remove fifo directories 2018-08-19 08:04:31 +10:00
aver-d
d2f48b1942 Add dart to comment.kak 2018-08-17 23:23:59 +01:00
Frank LENORMAND
099ad2319f rc systemd: Make sure files are in the systemd directory
Fixes #2272
2018-08-17 14:08:51 +03:00
Justin Frank
d557b09ac6 added protobuf syntax support 2018-08-15 21:39:29 -07:00
Harm Aarts
0d087966bf Add Dart rc file
Based heavily on `go.kak`.
2018-08-14 21:06:36 +02:00
Frank LENORMAND
afd44ddaea rc lisp: Highlight basic numeral forms 2018-08-13 20:49:15 +03:00
Frank LENORMAND
93e1b3c254 rc lisp: Extend the range of identifier characters 2018-08-13 20:48:53 +03:00
Frank LENORMAND
36d94cecb4 rc lisp: Fix variable highlighting
Fixes #2289
2018-08-11 10:13:38 +03:00
Maxime Coste
983a8f759a Merge remote-tracking branch 'laelath/fix-git-hide-blame' 2018-08-09 11:25:30 +02:00
Justin Frank
5b236e25a0 i3 comments don't require a space after the hash 2018-08-08 10:28:27 -07:00
Justin Frank
5b83968a29 fixed git hide-blame not working 2018-08-08 10:11:55 -07:00
Maxime Coste
ae75032936 Merge remote-tracking branch 'Screwtapello/support_rust_raw_strings' 2018-08-05 11:44:15 +01:00
Maxime Coste
610dbd97e9 Merge remote-tracking branch 'lenormf/fix-lint' 2018-08-05 10:37:15 +01:00
Frank LENORMAND
5953a38bdd rc lint: Be more resilient to null coordinates
Some syntax checkers (such as `cppcheck`) like to pass
extra-information using a regular diagnostic line - but with null
coordinates (0:0).

This commit makes the `:lint` command ignore such messages, to prevent
`set-option` from failing when assigning coordinates to `lint_flags`, and to avoid unecessary information in the `*lint-output*` buffer.
2018-08-02 14:20:16 +03:00
Tim Allen
8a9471ca5c rust.kak: Support Rust's raw-string syntax.
According to the Rust language reference[1], a raw string starts with an 'r',
zero or more '#' characters, and a '"', and doesn't close until a '"' is
immediately followed by the matching number of '#' characters.

[1]: https://doc.rust-lang.org/reference/tokens.html#raw-string-literals
2018-08-02 15:16:25 +10:00
Frank LENORMAND
bf488338aa rc systemd: Make sure files are in the systemd directory
Fixes #2272
2018-08-01 10:51:15 +03:00
Maxime Coste
1c0cc61ccc Merge remote-tracking branch 'lenormf/fix-lint' 2018-07-31 16:05:00 +01:00
Hao Deng
b2b7672eb3
sql is case insensitive
make sql hilighter case insensitive.
2018-07-30 14:49:21 -04:00
Frank LENORMAND
eee0035a0f rc lint: Create temporary file with the same buffer extension
Fixes #2189
2018-07-30 15:12:41 +03:00
Jan-Jaap Korpershoek
db6f51b411 Fix unclosed string due to unescaped ' 2018-07-26 11:16:44 +02:00
Jan-Jaap Korpershoek
0a1c4ecf3d Add / behind add-highlighter path 2018-07-26 10:59:42 +02:00
Maxime Coste
47666ba20b Merge remote-tracking branch 'lenormf/syntax-systemd' 2018-07-25 21:11:08 +10:00
Maxime Coste
c668d4c060 Merge remote-tracking branch 'laserswald/scheme-support' 2018-07-24 20:28:09 +10:00
Frank LENORMAND
64c7f8c564 rc: Highlight systemd files in a dedicated script 2018-07-24 11:28:09 +03:00
Ben Davenport-Ray
dca6ad4822 Add Scheme support 2018-07-23 15:55:26 -04:00