Commit Graph

1311 Commits

Author SHA1 Message Date
Justin Frank
d06e8d662d Added focus-tab call to kitty-focus 2018-09-23 21:12:07 -07:00
Justin Frank
903ae46b5d Added more kitty integration 2018-09-23 13:15:29 -07:00
Maxime Coste
09546a950e doc.kak: Fix rendering of indented code blocks
Fixes #2376
2018-09-23 22:42:30 +10:00
Maxime Coste
dbfed1306f git.kak: Refactor commit message highlighting
Use regions to avoid highlighting the commit message as a diff.
The new method will fail if one line of the commit message matches
'^diff --git' but that is fairly unlikely.

Fixes #2371
2018-09-23 18:00:51 +10:00
Maxime Coste
bb1cb0dbf1 doc.kak: Tweak paragraph joining logic
Fixes #2378
2018-09-23 17:40:16 +10:00
Maxime Coste
49645f8efc Merge remote-tracking branch 'laelath/spell-clear' 2018-09-23 17:05:51 +10:00
Jason Felice
538f2a74c7 Fix clojure numbers
- Fix issue where numbers which were part of symbols were highlighted.
- Fix issue where hexidecimals weren't highlighted past the 'x'
2018-09-22 16:16:36 -04:00
Justin Frank
5700587926 added spell-clear convenience command 2018-09-21 12:30:13 -07:00
Maxime Coste
fd107b8b5e Merge remote-tracking branch 'Delapouite/remove-hooks' 2018-09-20 21:14:22 +10:00
Maxime Coste
8618b286c5 Merge remote-tracking branch 'laelath/highlighter-fixes' 2018-09-20 21:14:01 +10:00
Delapouite
425aa56eaf Use remove-hooks regex in rc 2018-09-19 19:59:57 +02:00
Andrey Orst
b3f817c1ff
Fix highlighting of unsigned long long in C filetype
Values like `0xffffffffffffffffull` were highlighted only till first `u` leaving `ll` without highlighting. This change addresses this issue. It also adds uppercase `ULL` highlighting in values.
2018-09-19 16:50:26 +03:00
Maxime Coste
7956e893be Merge remote-tracking branch 'laelath/git-hide-diff' 2018-09-18 22:30:50 +10:00
Maxime Coste
0fca6ae3dd Merge remote-tracking branch 'Screwtapello/code-regions-for-markdown' 2018-09-18 22:30:07 +10:00
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
Jason Felice
fbd733f49c Homebrew Brewfile is ruby 2018-09-17 10:29:05 -04: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
Justin Frank
2c753889ca changed order of git hide-diff in menus 2018-09-16 13:52:17 -07:00
Justin Frank
f422b8c725 added git hide-diff convenience command 2018-09-16 00:30:46 -07:00
Justin Frank
4bb87ef430 macros always end at the start of a line comment 2018-09-15 10:52:18 -07:00
Justin Frank
e32d5ec88e tweaked some of the c-family highlighting of defines 2018-09-14 19:03:49 -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
Maxim Baz
451c72cc33
Do not enforce autoformat in ocaml 2018-07-28 12:27:27 +02: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
Maxime Coste
5fb43478ff Merge remote-tracking branch 'lenormf/fix-lint' 2018-07-22 21:12:06 +10:00
Maxim Baz
6cc46dd307
Recognize systemd timer syntax 2018-07-22 01:33:44 +02:00
Frank LENORMAND
929ef9f5ec rc lint: Escape pipes in diagnostics 2018-07-20 13:18:33 +03:00
Maxime Coste
d640c321c0 cmake.kak: recognize CMakeCache.txt files as ini 2018-07-19 18:40:55 +10:00
Maxime Coste
ab94d1745e mail.kak: Recognize Date header 2018-07-19 18:40:48 +10:00
Maxime Coste
2a3e3f0514 Tweak various scripts to improve the time they take to load
As requested in #2152, startup time should be slightly better.
2018-07-19 18:32:29 +10:00
Maxime Coste
d8cf4f3f3b Merge remote-tracking branch 'lenormf/fix-lint' 2018-07-19 08:27:40 +10:00
Frank LENORMAND
4bd6fe55d4 rc lint: Fix diagnosis displaying 2018-07-18 17:42:56 +03:00
Frank LENORMAND
6f35f41ba0 rc lint: Adapt to upstream changes in the format of string lists 2018-07-18 15:48:34 +03:00
Frank LENORMAND
4612d0928a rc lint: Print an error when lintcmd is empty 2018-07-18 14:16:05 +03:00
Maxime Coste
e7782ff14d Merge remote-tracking branch 'maximbaz/recognize-gitconfig-syntax' 2018-07-15 20:30:00 +10:00
Maxime Coste
6e77e64734 Merge remote-tracking branch 'maximbaz/fix-python-indent' 2018-07-14 23:18:47 +10:00
Maxime Coste
8e1bd88958 Merge remote-tracking branch 'Screwtapello/fix-racer-integration' 2018-07-14 23:17:45 +10:00
Tim Allen
bc0cd64ecf racer.kak: Fix more fallout from the recent quoting changes. 2018-07-10 18:55:47 +10:00
Maxim Baz
26bc173631
Fix python indent for lines ending with colon 2018-07-08 18:21:01 +02:00
Maxim Baz
b0b466e0d3
Recognize .gitconfig syntax 2018-07-08 18:10:12 +02:00
Maxime Coste
2659912220 go-tools.kak: Fix go-disable-autocomplete
As described in #2191
2018-07-08 21:02:51 +10:00
Maxime Coste
79ec8d0010 Rename highlighters that used an underscore to use a dash
For example `show_matching` is now `show-matching`.
2018-07-08 19:14:15 +10:00
Maxime Coste
677ae610f4 Merge remote-tracking branch 'occivink/comment-regs' 2018-07-08 15:59:43 +10:00
Maxime Coste
b3f9f533eb Merge remote-tracking branch 'maximbaz/fix-highlighters' 2018-07-08 15:57:10 +10:00
Maxim Baz
a4b8954934
Remove the -highlight suffix 2018-07-07 01:51:18 +02:00
Maxime Coste
f0b3925ba7 Merge remote-tracking branch 'maximbaz/improve-comment-line' 2018-07-07 09:39:46 +10:00
Maxim Baz
50c0f9dbdd
Missed one place 2018-07-06 13:13:36 +02:00
Maxim Baz
4e0f404eaa
Fix highlighter in lint.kak 2018-07-06 12:43:21 +02:00
Maxim Baz
fcec136f1e
Fix highlighters in git-tools 2018-07-06 12:33:53 +02:00
Maxim Baz
4b18a15a9f
kak_selections_desc is now space-separated 2018-07-05 23:46:21 +02:00
Maxim Baz
89280d0f20
Update according to bbtu 2018-07-05 23:29:53 +02:00
Olivier Perret
efcd94820c comment.kak: don't modify registers as side effect 2018-07-05 20:49:51 +02:00
Maxime Coste
b06ad06507 Fix man.kak add-highlighter commands 2018-07-05 18:00:37 +10:00
Maxime Coste
63d4c8c311 Change a on end of line behaviour to be consistent
`a` will just jump on next line, `a` on last end of line opens a new
line beneath it.

Fixes #1164
2018-07-05 08:00:14 +10:00
Maxime Coste
2e0e206951 Make recurse regex opt-in with a -recurse switch instead of opt-out 2018-07-05 07:54:28 +10:00
Shachaf Ben-Kiki
619184bdf6 Fix static_words in go.kak 2018-07-05 07:54:28 +10:00
Shachaf Ben-Kiki
1a2eecd037 Fix clang.kak and part of lint.kak
* Make clang.kak compatible with POSIX `[`.
* Make lint.kak dump range/line-specs correctly. It still doesn't read them
  correctly -- that'll be easier after the upcoming $kak_ changes for lists.
2018-07-05 07:54:28 +10:00
Maxime Coste
7f117dff1e Fix kitty KakBegin hook with new command syntax 2018-07-05 07:54:28 +10:00
Maxime Coste
3c2e7e13c6 Fix cmake.kak raw string highlighting 2018-07-05 07:54:28 +10:00
Maxime Coste
9ea6b88c1f Fix remaining kak scripts to use the new highlighter syntax 2018-07-05 07:54:28 +10:00
Maxime Coste
43223fba8c Fix various scripts highlighter commands 2018-07-05 07:54:28 +10:00
Maxime Coste
96c9718144 Parse unknown switches as positional for region highlighters 2018-07-05 07:54:28 +10:00
Maxime Coste
40211d1e3b Fix git-tools.kak highlighting 2018-07-05 07:54:28 +10:00
Maxime Coste
f61bcef469 Fix tests and required scripts to get back to green make test 2018-07-05 07:54:28 +10:00
Maxime Coste
e486a97ad8 Fix highlighters in rc/core post syntax refactoring 2018-07-05 07:54:28 +10:00
Maxime Coste
b0ccf97b44 Refactor RegionsHighlighters to define each region as a separate command 2018-07-05 07:54:28 +10:00
Maxime Coste
b4b335155e Refactor add-highlighter to make naming explicit
The highlighter name must be given as part of the path of the
highlighter, as the last element.

Fixes #1712
2018-07-05 07:54:28 +10:00
Maxime Coste
51cff07821 jedi.kak: Fix post command line parsing refactoring 2018-07-05 07:54:28 +10:00
Shachaf Ben-Kiki
1b9474cd44 Fix remaining static_words and spell.kak for the new list syntax 2018-07-05 07:54:28 +10:00
Maxime Coste
7abf04babd Improve highlighting of Kakrc string regions
Unfortunately Strings that start with a quoted quote (like '''str')
are still incorrectly highlighted, a deeper refactoring of the regions
highlighter will be necessary.
2018-07-05 07:54:28 +10:00
Maxime Coste
759a253923 Change kakrc string highlighting to follow the new string syntax 2018-07-05 07:54:28 +10:00
Maxime Coste
27163106c7 Make register expansions expand to the full register content
Now that we have a nice standard way to express lists of strings,
registers can be fully exposed. An new $kak_main_reg_... env var
was added to provide the previous behaviour which is relied on by
doc.kak.
2018-07-05 07:54:28 +10:00
Maxime Coste
a6ba65c121 doc.kak: Fix post list syntax refactoring 2018-07-05 07:54:28 +10:00
Maxime Coste
2729042f83 Fix c-family.kak static_words definition 2018-07-05 07:54:28 +10:00
Maxime Coste
e9fc54538d Convert some of the rc/ scripts to the new list syntax
Other scripts relying on lists are broken at the moment, and will
be fixed. This commit is a proof of concept of the new way to work
with lists.
2018-07-05 07:54:28 +10:00
Maxime Coste
cad5f37efd Fix register saving post -save-regs behaviour change 2018-07-05 07:54:28 +10:00
Maxime Coste
a77710e098 ctags.kak: remove -no-hooks from execute-keys 2018-07-05 07:54:28 +10:00
Maxime Coste
ec16969609 Do not reparse %sh{...} strings
Automatic reparsing of %sh{...}, while convenient in many cases,
can be surprising as well, and can lead to security problems:

'echo %sh{ printf "foo\necho bar" }' runs 'echo foo', then 'echo bar'.
we make this danger explicit, and we fix the 'nop %sh{...}' pattern.

To reparse %sh{...} strings, they can be passed to evaluate-commands,
which has been fixed to work in every cases where %sh{...} reparsing
was used..
2018-07-05 07:54:28 +10:00
Maxime Coste
86616c207d Merge remote-tracking branch 'lenormf/synchronized-write' 2018-07-04 19:46:40 +10:00
Maxime Coste
220458839d Fix git-tools.kak use of $@ 2018-07-04 19:46:06 +10:00
Frank LENORMAND
ab2eade28d rc: Synchronize important file writes
Fixes #2178
2018-07-04 09:55:05 +03:00
Maxime Coste
956c0e32e8 Merge remote-tracking branch 'maximbaz/add-missing-python3-keyword-nonlocal' 2018-07-03 22:18:08 +10:00
Maxim Baz
44f0230fe1
Add missing python3 keyword: nonlocal 2018-07-02 23:28:25 +02:00
Maxim Baz
fb045ec072
Let the update_diff fail if we are not in git repo 2018-07-02 22:43:23 +02:00
Maxim Baz
551674875d
Don't swallow stderr, don't update diff when not in git repo, use underlined ~ symbol 2018-07-02 22:34:54 +02:00
Maxime Coste
68e5674f59 Merge remote-tracking branch 'maximbaz/ini-support-properties-fix-equals-color' 2018-07-02 20:11:49 +10:00
Maxime Coste
379e7c2d2d Merge remote-tracking branch 'maximbaz/improve-git-gutter' 2018-07-02 20:09:10 +10:00
Maxim Baz
b9a0c86cdc
Quote file path, keep silent when not in git repo 2018-07-01 22:54:11 +02:00
Maxime Coste
24ab99c8bf Merge remote-tracking branch 'lenormf/fix-multiplexers-docstring' 2018-07-01 11:17:54 +10:00
Maxime Coste
8fcce5d1b1 Merge remote-tracking branch 'Screwtapello/fix-rust-lifetime-highlighting' 2018-07-01 11:12:45 +10:00
Maxim Baz
a56c39d69b
Improve git gutter 2018-07-01 02:24:46 +02:00
Frank LENORMAND
46943d4374 rc: Clearify the behavior of multiplexers that create new clients
Note: `GNU/screen` has a different interpretation of what constitutes
a "vertical split", hence the inverted command descriptions, compared
to the tmux/iterm etc.

Closes #1626
2018-06-30 14:19:32 +03:00
Frank LENORMAND
513eb2720e rc iterm: POSIX fixes 2018-06-30 14:07:20 +03:00
Frank LENORMAND
76ac7ab663 rc git: Highlight the delete operation when rebasing 2018-06-29 18:23:49 +03:00
Maxim Baz
7cfd0d1b39
trigger travis 2018-06-29 01:37:56 +02:00
Maxim Baz
d8a2588e9c
another attempt to fix macOS issue 2018-06-29 01:22:17 +02:00
Maxim Baz
c683b09287
Rename align-cursors-left to align-selections-left 2018-06-29 00:56:37 +02:00
Maxim Baz
5d689858df
Improve comment-line command 2018-06-28 23:47:48 +02:00
Maxim Baz
b2867a0197
Support .properties extension, fix coloring the equals sign 2018-06-28 00:08:44 +02:00
Tim Allen
53f0ce8247 rust.kak: lifetimes do not include the following non-word character.
A Rust data structure that is generic over a type conventionally uses a single
capital letter for the type variable, like `Vec<T>` or `HashMap<K, V>`. A Rust
data structure that is generic over a reference-lifetime conventionally uses an
apostrophe followed by a single lower-case letter for the lifetime variable,
like `Something<'a>`.

Previously, Kakoune would highlight "'a>" as the lifetime parameter; with this
change Kakoune highlights "'a" and leaves the closing ">" alone.
2018-06-23 17:55:02 +10:00
Frank LENORMAND
560eb3ee36 rc extra: Fix kitty support 2018-06-23 08:55:38 +03:00
Matthew Vilim
b63d410219 improve solarized theme and Scala syntax highlighting 2018-06-22 13:42:06 -07:00
Tim Allen
3d0c19f8fb Prevent the :format command from triggering hooks.
The :format command is often called from a BufWritePre hook to format the
current buffer, however the :format command itself calls `:write` to store the
buffer in a temporary location, potentially causing an infinite recursion.

If we disable hooks while running :format, there's no danger of that occurring.
2018-06-20 21:11:58 +10:00
Maxime Coste
7591924f85 ctags.kak: Remove tags starting with '!' from ctags completion 2018-06-20 20:20:50 +10:00