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