Commit Graph

2055 Commits

Author SHA1 Message Date
Johannes Altmanninger
407c72d90a Clear unwanted environment variable
This adds two things I forgot in
9a7d8df4 (Avoid accidentally using environment variables in sh scopes)

Mea culpa, the problem was that I was skipping matches with "filetype"
because that's usually just a hook parameter as in "WinSetOption filetype=.."

	rg --pcre2 '\b(?!filetype=)\w+=' rc/

So I missed these two cases where a shell variable is actually called "filetype".

The one in git.kak was not a problem because show_git_cmd_output is only
ever called with sane inputs.  However, file.kak does use the filetype
environment variable for many mime types, for example:

	filetype=somefiletype\''; echo -debug injection; nop '\' kak /dev/null

Will run the echo since /dev/null has mime type "inode/chardevice"
2020-09-02 06:54:19 +02:00
Johannes Altmanninger
e1de4aa118 python.kak: Do not indent after comments ending in :
Fixes #3693

This will not work for lines like the one below but I think that's okay
because it does work for most comments.

	foo() # foo:
2020-09-02 06:44:36 +02:00
Frank LENORMAND
87f9be6723 rc repl: Normalise REPL commands
It's unclear what the `send-text` alias does at first glance,
so prefixing it with "repl-" both fixes that and helps make it
discoverable via the command prompt's fuzzy matcher.

The `repl` alias also seems too generic a name, the "-new" suffix
should hopefully give a hint that it creates a new window.
2020-09-01 13:34:52 +03:00
Frank LENORMAND
3145e3e939 rc markdown: Highlight trailing spaces properly
This commit addresses the following issues:

* highlight trailing space characters with the `meta` face, instead of
  `PrimarySelection`
* make the regex more readable by using a capture group in stead of
  `\K`
* specifically match space characters, not other horizontal whitespace
  characters
* match two or more space characters

Reference[1]:

> When you do want to insert a <br /> break tag using Markdown, you
> end a line with two or more spaces, then type return.

[1] https://daringfireball.net/projects/markdown/syntax#p

Note that the original reproducer doesn't seem to work anymore,
probably because of changes made to how lists are highlighted.

Fixes #911
2020-09-01 13:12:58 +03:00
Ludvig Böklin
0e84cdb016 Mercury-lang filetype support 2020-08-31 16:36:43 +02:00
Maxime Coste
4793a4e8ce Allow multiple arguments in tmux repl
Fixes #3680
2020-08-30 10:53:03 +10:00
Johannes Altmanninger
9a7d8df447 Avoid accidentally using environment variables in sh scopes
On the instances with altfile this was already the case, but this makes it more obvious.

Closes #3673
2020-08-24 19:01:05 +02:00
Maxime Coste
4b7fd68d48 Merge remote-tracking branch 'krobelus/indent-after-keyword' 2020-08-24 19:24:19 +10:00
Maxime Coste
beeaf19801 Merge remote-tracking branch 'krobelus/highlight-nested-variable-expansions' 2020-08-24 19:23:35 +10:00
Johannes Altmanninger
ab76ec981a Avoid extra indent when line does not end on keyword
For example there was an indent after a line like "echo todo" with filetype sh
because the "do" in "todo" was recognised as keyword.
2020-08-23 19:15:52 +02:00
Johannes Altmanninger
473967df04 fish.kak: add missing highlighting for builtins true and string
I forgot them last time, sorry for the noise
2020-08-23 19:15:52 +02:00
Johannes Altmanninger
caf9739329 sh.kak: Don't leak highlighting of nested variable expansions
Fixes #3675
2020-08-23 19:15:52 +02:00
Maxime Coste
78a7c5fe9b Merge remote-tracking branch 'alexherbo2/kakrc' 2020-08-23 13:59:41 +10:00
Maxime Coste
7f5959d295 Merge branch 'grep' of http://github.com/vbauerster/kakoune 2020-08-23 13:57:40 +10:00
Alex Leferry 2
3f8d3dcf86 kakrc: Add trigger-user-hook keyword 2020-08-22 23:16:46 +02:00
Maxime Coste
0b3b912ffc Merge remote-tracking branch 'SolitudeSF/nim' 2020-08-20 19:00:36 +10:00
Maxime Coste
4e4a65e944 Merge branch 'sh-insert' of http://github.com/SeerLite/kakoune 2020-08-17 20:03:12 +10:00
Maxime Coste
83685501ea Merge remote-tracking branch 'caksoylar/fix-python-ops' 2020-08-17 19:59:43 +10:00
SeerLite
e0c756d943 kakrc.kak: Split auto-insert and auto-indent hooks 2020-08-14 23:43:43 -04:00
SeerLite
1af4a1b1a8 sh.kak: Split auto-insert and auto-indent hooks 2020-08-14 23:42:52 -04:00
Vladimir Bauer
649e252f75 bring *grep* buffer to front in context of toolsclient 2020-08-14 00:52:22 +05:00
Cem Aksoylar
03032d6c3e Add assignment expression := (walrus) operator 2020-08-12 23:12:35 -07:00
Cem Aksoylar
e9b0e9a57d Fix <> and ** operators highlighting 2020-08-12 23:11:43 -07:00
Parasrah
151fe01a5c
fix #3651
Similar to Jinja, getting `eex` highlighting in *.ex files
will require users to setup a filetype hook similar to the
following:

hook global WinSetOption filetype=elixir %{
    require-module eex
    add-highlighter window/eex ref eex
}

This is done both to fix a circular dependency between the `elixir`
and `eex` modules, and avoid polluting `elixir` files with false
positives from `eex` highlighting given `eex` is framework specific
2020-08-12 19:14:27 -06:00
SolitudeSF
328ef122ae
Update keywords and suffixes in nim.kak 2020-08-07 12:59:00 +03:00
Maxime Coste
ba7831035f Merge remote-tracking branch 'johnisom/crystal-filetype' 2020-08-03 18:57:45 +10:00
John Isom
72f658f896 Replace my implementation of crystal-insert-on-new-line with already-existing ruby one
This fixed a weird bug where if you were typing in the top level scope of a
program (no indentation before statements), the `end`s wouldn't be inserted
for you.
2020-08-02 11:39:59 -06:00
John Isom
f59bdc614f Fix typo in comment 2020-08-02 11:33:56 -06:00
John Isom
fdf38ecc5e Fix auto indentation for if/case and else 2020-08-02 11:28:27 -06:00
John Isom
6cf39a5f4f Fix auto indentation for if/case and else 2020-08-02 11:22:28 -06:00
Maxime Coste
616f6bbe9b Merge remote-tracking branch 'krobelus/fail-on-missing-tools' 2020-08-02 16:50:33 +10:00
Maxime Coste
f60b0a1441 Merge remote-tracking branch 'johnisom/ruby-indentation' 2020-08-02 16:25:07 +10:00
John Isom
8a02bafe0d Beautify indenting in add-highlighter region for percent literals 2020-08-01 13:54:16 -06:00
John Isom
dee96f8e82 Improve syntax highlighting of Ruby percent literals
The syntax highlighting has been broken down into 3 main categories:
string: string, array of words
variable: symbol, array of symbols
meta: regexp, shell execution
2020-08-01 13:37:40 -06:00
John Isom
92558bb675 Add rule for % string literals without bracket/style chars; no recurse yet
Becuase %Q^hello^ is a perfectly valid Ruby string literal. Strange, I know.
2020-08-01 13:18:47 -06:00
John Isom
e858df3ca2 Add 'else' to auto deindent/align logic in context of 'case' statement 2020-08-01 12:12:48 -06:00
John Isom
57e9719c25 Add 'else' to auto deindent/align logic in context of 'case' statement 2020-08-01 11:57:38 -06:00
John Isom
322d0659fd Add 'when' to list of keywords that signifies end for ruby-insert-on-new-line 2020-08-01 11:54:57 -06:00
John Isom
dbb548af2d Fill in implementation of crystal-insert-on-new-line 2020-08-01 11:46:35 -06:00
John Isom
c36583524c Reorder definition of 3 indent/insert commands 2020-08-01 11:32:16 -06:00
John Isom
0d4dfbc349 Implement copying comment char (#) and whitespace after it 2020-08-01 11:31:28 -06:00
John Isom
8f0843978e Beautify indentation of 'crystal-indent-on-char' 2020-08-01 11:19:36 -06:00
John Isom
a6329b4bfc Fix deindentation of end to make it go to the right level 2020-08-01 11:18:41 -06:00
John Isom
d6e3c1ff19 Fix deindenting nested blocks/statements 2020-08-01 10:52:26 -06:00
John Isom
145f2db741 Add rule to align 'end' with opening statement 2020-08-01 10:35:34 -06:00
John Isom
0fe71ebada Add deindentation rule for 'rescue' statement 2020-08-01 10:33:35 -06:00
John Isom
21c083f47c Add rule to align 'when' to 'case' 2020-08-01 10:32:45 -06:00
John Isom
b7490d853d Add support for deindenting rescue statment when part of def (instead of just begin) 2020-08-01 10:28:54 -06:00
John Isom
76eadef00b Add rule to align else/elsif to opening if 2020-08-01 10:27:51 -06:00
John Isom
e84ebfdfab Replace ') <a-&>' with '1<a-&>' 2020-08-01 10:16:48 -06:00
John Isom
2c382de1e8 Add indenting after starting structure/opening statement 2020-08-01 10:08:47 -06:00
John Isom
ee842da85a Replace manual whitespace trimming to use function created in prev. commit 2020-08-01 09:59:53 -06:00
John Isom
62ac42bb23 Add 'crystal-trim-indent' command
This removes trailing whitespaces from the end of lines
2020-08-01 09:58:21 -06:00
John Isom
783fac3d61 Remove single quotes from 'execute-keys -draft ...' keys 2020-08-01 09:56:02 -06:00
John Isom
0063e4c4f5 Collapse 'try %{ execute-keys ... }' blocks to one line 2020-08-01 09:55:15 -06:00
John Isom
73f5f32385 Wrap all 'indent-on-new-line' commands in 'evaluate-commands -no-hook -draft -itersel' 2020-08-01 09:53:51 -06:00
John Isom
b23a85e747 Beautify percent string literals highlighters spacing/indentation 2020-08-01 09:50:27 -06:00
John Isom
0c591baae3 Add 'crystal-indent-on-char' and 'crystal-insert-on-new-line' hooks and functions 2020-08-01 09:49:53 -06:00
John Isom
591cb83da4 Rename 'crystal-new-line-inserted' to 'crystal-indent-on-new-line'
This gives the function clear responsibility, whereas the naming
before was unclear
2020-08-01 09:39:08 -06:00
John Isom
3248f7279c Deindent everything in the 'provide-module crystal...' block 2020-08-01 09:36:14 -06:00
John Isom
a78b6e6ccb Change 2-space indentation to 4-space 2020-08-01 09:34:55 -06:00
John Isom
5c124db5d9 Replace cat emojis with section signs
Many terminal emulators or fonts don't support the cat emoji, and the section
sign (§) is more semantically correct than a cat.
2020-08-01 09:30:12 -06:00
John Isom
dc378da87f Add section comments to crystal.kak 2020-08-01 09:27:21 -06:00
John Isom
79fa50dc3e Add namespacing to crystal hooks 2020-08-01 09:24:06 -06:00
John Isom
c793712318 Fix ruby-indent-on-char 2020-07-31 19:24:19 -06:00
Maxime Coste
5292990a0d Fix invalid quoting in python.kak 2020-07-31 15:45:34 +10:00
Maxime Coste
8d51a99a3b Merge remote-tracking branch 'pickfire/rust-highlight' 2020-07-31 07:50:14 +10:00
Kylie McClain
25dafd55fe asciidoc: Add a highlighters for links 2020-07-30 16:56:56 -04:00
Kylie McClain
a2c378c7b3 asciidoc: Add a highlighter for admonition paragraphs 2020-07-30 16:56:56 -04:00
Kylie McClain
e845495cc3 asciidoc: Add a highlighter for [%options] 2020-07-30 16:56:56 -04:00
Kylie McClain
b52c2a532d asciidoc: Add support for negated attributes 2020-07-30 16:56:56 -04:00
Kylie McClain
ad2f61f91a asciidoc: Add a highlighter for list titles 2020-07-30 16:56:56 -04:00
Kylie McClain
04721b8425 asciidoc: Add a highlighter for in-word italics as well 2020-07-30 16:56:52 -04:00
Kylie McClain
a8f3ff21dd asciidoc: Add a highlighter for attribute referencing 2020-07-30 16:50:33 -04:00
Kylie McClain
41532cd3e0 asciidoc: Add comments for clarity 2020-07-30 16:50:31 -04:00
Kylie McClain
7274092955 asciidoc: Add a highlighter for in-word bolding 2020-07-30 16:46:11 -04:00
Maxime Coste
76f1b7a5f9 Merge remote-tracking branch 'tmccombs/asciidoc-comments' 2020-07-30 21:22:17 +10:00
Maxime Coste
1efeb75e83 Merge remote-tracking branch 'somasis/asciidoc-bullet-fix' 2020-07-30 21:18:57 +10:00
Maxime Coste
55fbdb3606 Merge remote-tracking branch 'johnisom/deindent-closing-braces' 2020-07-30 21:14:37 +10:00
Maxime Coste
b322a1f29c Merge remote-tracking branch 'krobelus/highlighting' 2020-07-30 21:09:04 +10:00
Maxime Coste
ac24b72f61 Merge remote-tracking branch 'pickfire/patch-1' 2020-07-30 21:07:26 +10:00
Maxime Coste
e4c27df5f5 Merge remote-tracking branch 'krobelus/done-deindent' 2020-07-30 21:07:03 +10:00
Maxime Coste
898945c8db Merge remote-tracking branch 'krobelus/tmux-terminal-use-client-pane' 2020-07-30 21:05:24 +10:00
John Isom
6258646f41 Fix deindentation in zig.kak 2020-07-29 21:46:51 -06:00
John Isom
4a49868f2c Fix deindentation in sh.kak 2020-07-29 21:31:21 -06:00
John Isom
085fcc2088 Fix deindentation in scala.kak 2020-07-29 21:25:55 -06:00
John Isom
d5fe3a2b12 Fix deindentation in sass.kak 2020-07-29 21:22:38 -06:00
John Isom
cc30131e16 Fix my issues in gluon.kak 2020-07-29 21:22:20 -06:00
John Isom
6c02f80935 Add indent-on-closing-brace rule to sass.kak 2020-07-29 21:10:43 -06:00
John Isom
e02a3711fa Fix my issues in gluon.kak 2020-07-29 21:07:43 -06:00
John Isom
d77fe33e9a Fix my issues in python.kak 2020-07-29 20:45:54 -06:00
John Isom
cf7eab62bd Fix already-existing error in ragel.kak 2020-07-29 20:41:21 -06:00
John Isom
70d1aa114b Fix deindentation in protobuf.kak 2020-07-29 20:41:18 -06:00
John Isom
53188e66c7 Fix deindentation in python.kak 2020-07-29 20:41:14 -06:00
John Isom
14514422db Fix deindentation in ragel.kak 2020-07-29 20:41:05 -06:00
John Isom
858b0dd1c9 Update deindentation in nix.kak 2020-07-29 20:12:54 -06:00
John Isom
5284196cb3 Update deindentation in cue.kak 2020-07-29 17:02:54 -06:00
John Isom
e43981422e Update deindentation in java.kak 2020-07-29 17:02:50 -06:00
John Isom
9c957167fa Update deindentation in c-family.kak 2020-07-29 15:14:35 -06:00
John Isom
9560ef3dd5 Update deindentation in gluon.kak 2020-07-29 15:13:36 -06:00
John Isom
1951f19fd8 Update deindentation rule for awk.kak, cabal.kak, go.kak 2020-07-29 15:06:27 -06:00
John Isom
29e94c46e0 Fix already-existing bug in javascript.kak 2020-07-29 15:04:14 -06:00
John Isom
9d4e33c775 Clean up my previous updates 2020-07-29 09:40:58 -06:00
John Isom
bad751197a Update deindenting in css.kak 2020-07-29 09:35:36 -06:00
John Isom
528feb3422 Update deindenting in dart.kak and javascript.kak 2020-07-29 09:34:29 -06:00
John Isom
4a77566ee6 Update deindenting in cabal.kak 2020-07-29 09:32:43 -06:00
John Isom
21bf092230 Update deindenting in dart.kak 2020-07-29 09:31:20 -06:00
John Isom
2b86826d5a Fix already-existing error in javascript.kak 2020-07-29 09:28:46 -06:00
John Isom
27705d402f Update deindenting in javascript.kak 2020-07-29 09:28:32 -06:00
John Isom
f84fd84b26 Update deindenting in json.kak 2020-07-29 09:27:26 -06:00
John Isom
dc4508d05f Update deindenting in d.kak 2020-07-29 09:07:02 -06:00
John Isom
fb838b9f33 Update deindenting in perl.kak 2020-07-29 08:56:19 -06:00
John Isom
1eb34996e1 Merge branch 'deindent-closing-braces' into HEAD 2020-07-29 08:55:48 -06:00
John Isom
90988f5ee9 Merge commit '84a08982' into HEAD 2020-07-29 08:55:19 -06:00
John Isom
623743e794 Update deindenting in perl.kak 2020-07-29 08:54:19 -06:00
John Isom
ba8fca741c Update deindenting in kakrc.kak 2020-07-29 08:52:04 -06:00
John Isom
507f799ce4 Fix already-existing bug in perl.kak 2020-07-28 20:52:06 -06:00
John Isom
84a08982db Update deindenting in perl.kak 2020-07-28 20:51:19 -06:00
John Isom
655c7aad60 Update deindenting in cabal.kak 2020-07-28 20:50:36 -06:00
John Isom
9edbcd4a46 Update deindenting in dart.kak 2020-07-28 20:50:19 -06:00
John Isom
a5a3ce9e1b Fix already-existing error in php.kak 2020-07-28 20:49:42 -06:00
John Isom
b87b1bd32d Update deindenting in php.kak 2020-07-28 20:49:17 -06:00
John Isom
2de803ee17 Update deindenting in rust.kak 2020-07-28 20:48:57 -06:00
John Isom
70e68e3064 Update deindenting in php.kak 2020-07-28 16:07:03 -06:00
John Isom
be69d6e173 Update deindenting in latex.kak 2020-07-28 16:06:02 -06:00
John Isom
3bd783c337 Update deindenting in perl.kak 2020-07-28 16:04:35 -06:00
John Isom
8f0b56be1f Update deindenting in css.kak 2020-07-28 16:03:15 -06:00
John Isom
6cf0856a15 Update deindenting in cabal.kak 2020-07-28 16:02:31 -06:00
John Isom
f3f477aa04 Fix already-existing error in cabal.kak 2020-07-28 16:01:11 -06:00
John Isom
ec48e07b2a Update deindenting in dart.kak 2020-07-28 15:59:23 -06:00
John Isom
60a1b0cfcb Update deindenting in javascript.kak 2020-07-28 15:33:20 -06:00
John Isom
d7e9702228 Fix my closer tokens issues in javascript.kak 2020-07-28 15:18:57 -06:00
John Isom
94ab56d123 Fix indentation rule for php.kak 2020-07-28 14:58:42 -06:00
John Isom
85d5f50376 Fix indentation rule for perl.kak 2020-07-28 12:55:21 -06:00
Johannes Altmanninger
7d52bae5cb rc/x11: failure message when some external tools are missing
Addresses #3591
2020-07-28 20:32:56 +02:00
Johannes Altmanninger
6ca51882a1 c-family.kak: fix /**/ being interpreted as javadoc start 2020-07-28 20:32:56 +02:00
Johannes Altmanninger
0fb99f217a tmux.kak: use TMUX_PANE for tmux-terminal-{horizontal,vertical}
In case a user connects to the same Kakoune session from multiple tmux
windows/sessions, this makes the splits appear next to the calling client,
instead the client where the Kakoune session was started.
2020-07-28 20:32:56 +02:00
Johannes Altmanninger
e612f26ec1 rc: conservative comment highlighting for shells
Fixes spurious comment highlighting for these examples:

	echo \# foo
	echo 1#foo
	echo 2\ #foo
2020-07-28 20:32:56 +02:00
John Isom
80a5fd2c88 Fix already-existing bug in nix.kak 2020-07-27 21:59:08 -06:00
John Isom
05e8eaac68 Fix indentation rule for nix.kak 2020-07-27 21:58:48 -06:00
John Isom
1d68f8dab9 Fix indentation rule for latex.kak 2020-07-27 21:43:07 -06:00
John Isom
b40a53d26c Remove extraneous -itersel flag from deindent closing brace after cursor 2020-07-27 21:42:47 -06:00
John Isom
d4fee6b197 Fix indentation for closing chars in kakrc.kak 2020-07-27 21:37:49 -06:00
John Isom
d818ff8ac0 Fix indentation for closing braces in kakrc.kak
This fixes %{ }, %< > style, not %| |, %= =, etc
2020-07-27 21:26:17 -06:00
John Isom
fd3716a12b Fix typo in comment from 9dd292d100 2020-07-27 20:58:25 -06:00
John Isom
01712e7f3c Change indentation rules in json.kak to be much more intuitive for nested objects
As it was before, when you had this (| = cursor):

``` json
{
  "foo": {|
}
```

and hit <ret>, this would happen:

``` json
{
  "foo": {
  |
}
```

when it should have been this:
``` json
{
  "foo": {
    |
}
```
2020-07-27 20:55:34 -06:00
John Isom
9dd292d100 Fix indentation rule for json.kak 2020-07-27 20:52:35 -06:00
John Isom
8c9afa8a91 Simplify closing brace indentation
Edits same line as previous commit. I replaced a complex selection command
with a simple 1-keystroke alternative.
2020-07-27 20:48:10 -06:00
John Isom
f958a318c1 Fix already-existing bug in json.kak
When a closing brace or bracket is typed, it should automatically match
indentation with it's opener. Because of an unescaped ']' literal the regexp
didn't work.
2020-07-27 20:47:59 -06:00
John Isom
2044f250ae Fix indentation rule for javascript.kak 2020-07-27 20:39:44 -06:00