Frank LENORMAND
2d78b0760d
rc modeline: Error out on unsupported formats
...
This commit makes `:modeline-parse` grab all lines that look like
modelines, and lets the parser deal with invalid formats.
This allows actually printing an error on unsupported modelines
formats, instead of ignoring them upfront.
2020-09-18 14:54:57 +03:00
Frank LENORMAND
30ee97386d
rc modeline: Use more idiomatic shell
2020-09-18 14:54:57 +03:00
Frank LENORMAND
7731fe4cb2
rc modeline: Print error messages correctly
2020-09-18 09:01:32 +03:00
Frank LENORMAND
6976b1dce4
rc modeline: Prevent command execution
...
This commit prevents specially crafted modelines from making the
editor execute arbitrary Kakoune commands.
By using a tabulation character as a separator, commands can be
injected in the value of the options listed in the modeline. For
example:
# kak: tabstop=2;set-option buffer pwned yes
Fixes #3735 .
2020-09-18 09:01:32 +03:00
Maxime Coste
dbd7e4da79
Merge remote-tracking branch 'voroskoi/gopls' into master
2020-09-17 19:49:33 +10:00
Maxime Coste
fd658f6995
Merge remote-tracking branch 'lenormf/fix-3733' into master
2020-09-17 19:39:48 +10:00
Maxime Coste
b8f56a65ed
Merge remote-tracking branch 'deviant/add-go-alternative-file' into master
2020-09-17 19:38:59 +10:00
Maxime Coste
cb047a4a7d
Merge remote-tracking branch 'tototest99/ninja-syntax' into master
2020-09-17 19:34:54 +10:00
Maxime Coste
81163ce48a
Merge remote-tracking branch 'Aajn/python-highlighter' into master
2020-09-17 19:33:51 +10:00
VÖRÖSKŐI András
9fe1a2a9a4
gopls: fixes based on krobelus@ review
2020-09-16 21:58:22 +02:00
antab
810689ad60
fix: variables adjacent to =
and in build declaration
2020-09-16 21:09:27 +02:00
Frank LENORMAND
95c095f3fb
rc modeline: Don't select more lines than configured
...
This commit addresses an off-by-one error that selected `modelines`+1
lines when looking for modelines in a buffer.
Note that setting `modelines` to 0 will still select one line.
Fixes #3733 .
2020-09-16 11:00:15 +03:00
antab
ea4f2b8837
feat: add basic ninjafile support
2020-09-16 00:03:17 +02:00
David Arnold
1ff9895fe4
just: re-implment bash/sh interpreter
2020-09-15 16:32:07 -05:00
David Arnold
3857696df6
just-highlighter: pre call out to shebang regions
2020-09-15 16:10:40 -05:00
David Arnold
3770baaab0
fix justfile highlighter
...
This fixes serveral shortcomings of the current implementation:
- valid recipt definitions eg
foo bar="quz":
where previously interrupted by justfile/double_string
and therefore they where not highlighted correctly
- global variable assignments where not captured at all
2020-09-15 15:52:00 -05:00
Piotr Chrominski
bfbf4d2080
Fix python docstring highlighter
...
Escaped ' or " at the end of a docstring no longer break highlighting.
2020-09-15 22:01:55 +02:00
VÖRÖSKŐI András
2b18b1d088
rc/go-tools.kak: remove
...
Working functions replaced by gopls
Use kak-lsp if you need in place documentation and autocompletion
2020-09-15 01:02:19 +02:00
VÖRÖSKŐI András
568020d67b
rc gopls.kak: initial import
...
Add support for the following gopls commands:
- format
- imports
- definition
- references
Thanks krobelus@ and lenormf@ for their review and suggestions.
2020-09-15 01:01:35 +02:00
V
c6b7e3d74a
Add :alt command for go files
2020-09-10 00:23:46 +02:00
Maxime Coste
6f260c2ab2
Merge remote-tracking branch 'm-kru/latex' into master
2020-09-08 19:06:56 +10:00
Michał Kruszewski
0f63dd339a
Provide better support for Go language.
...
1. Highlight short variable declaration operator :=.
2. 'while' is not go keyword.
3. Auto insert ')', '}', when line ends with '(' or '{'.
2020-09-07 21:48:06 +02:00
Maxime Coste
cfbff4e132
Merge remote-tracking branch 'kayhide/purescript-filetype' into master
2020-09-06 11:23:48 +10:00
Maxime Coste
c98d6c3062
Merge remote-tracking branch 'krobelus/initialize-shell-vars' into master
2020-09-06 10:52:07 +10:00
Maxime Coste
cf7955cdfb
Merge remote-tracking branch 'lenormf/docstring-newline-format' into master
2020-09-06 10:50:51 +10:00
Maxime Coste
f84c550d30
Apply suggestions from code review
...
Co-authored-by: Screwtapello <thristian@gmail.com>
Co-authored-by: Johannes Altmanninger <aclopte@gmail.com>
2020-09-06 10:56:37 +10:00
Maxime Coste
22676647fe
Merge remote-tracking branch 'krobelus/python-no-indent-after-comment' into master
2020-09-06 10:48:49 +10:00
Maxime Coste
97fd0c0510
Merge remote-tracking branch 'lenormf/repl-normalise' into master
2020-09-06 10:48:08 +10:00
Michał Kruszewski
705712f13b
Improve latex support.
...
Auto insert "\end{[word]}" for "\begin{[word]}".
2020-09-05 16:14:22 +02:00
Tim Allen
a25cc215e8
Reference content goes in docstrings, explanations go in prose docs.
...
Also, make sure docstrings reference the prose docs, so people who stumble over
an interesting-looking command or option can find out more about it.
2020-09-04 19:20:50 +10:00
Hideaki Kawai
c613e3c7f1
Create purescript filetype
2020-09-04 11:33:08 +09:00
Tim Allen
66cc39cb14
Update plugin docs to not duplicate docstring information.
2020-09-03 17:18:19 +10:00
Tim Allen
9934788155
Add more user-oriented documentation for the documentation system.
2020-09-03 16:49:18 +10:00
Tim Allen
e3298c6320
Address code-review comments
...
- some wording changes in included documentation
- find supports multiple starting paths, we don't need to launch it 3 times
- Change the regex that trims the file extension to only trim the last extension
Some additional things I noticed:
- find should use -L to see through symlinks like the autoload processing does.
- find should check the user's autoload directory first, so users can override
Kakoune's built-in documentation.
2020-09-03 15:21:54 +10:00
Tim Allen
d628cb50cf
rc: Add some documentation for existing plugins..
2020-09-03 01:55:36 +10:00
Tim Allen
4296305171
doc.kak: Also search through plugins (stdlib and per-user) for docs.
...
This makes the somewhat-dubious assumption that every plugin will have uniquely-
named documentation files, instead of automatically putting every plugin's docs
into a namespace. However, plugins already have to deal with flat namespaces for
commands, options, filetypes, etc. so one more shouldn't hurt.
Fixes #2466 .
2020-09-03 01:19:20 +10:00
Frank LENORMAND
0cd706254a
rc clang grep: Make docstrings more readable
2020-09-02 11:57:34 +03:00
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