Commit Graph

9111 Commits

Author SHA1 Message Date
Maxime Coste
586f79c30d Ensure InputModes are kept alive during their idle logic
Various paths can run arbitrary commands (callbacks, hooks) which
could lead to the InputMode being popped off the mode stack, but
contrarily to the on_key method, we had no guarantees to be kept
alive.

Add a keep_alive RefPtr to this to ensure the mode survives till
the end.

Fixes #3915
2020-12-01 20:00:38 +11:00
Frank LENORMAND
a548caaebe rc: Consistently use a dot as template separator
Other scripts uses a dot `.` to separate the seed from the rest of
the template, making that standard across the codebase allows running
cleanup commands like `rm -rf /tmp/kak-*.*`.
2020-11-30 14:24:06 +03:00
Frank LENORMAND
fe5f357446 rc lint: Avoid stray processes and temporary directory
This commit is an attempt at mitigating stray processes and temporary
directories, which pile up in the process tree and `$TMPDIR` over time.

To reproduce the issue, run the `lint` command in rapid successions,
or simply run `:lint; lint; lint;` in the prompt (two consecutive
calls are enough to trigger the bug).

The first call creates a `\*lint-ouput*` buffer, bound to a named
pipe that will be populated later on in an asychronous shell
process. It's that same process that runs the linter afterward, and as
soon as it has been spawned, the following call to `:lint` is executed.

Each call to `:lint` overrides the path to the named pipe that was
assigned to `\*lint-output*` by the previous one, resulting in several
asynchronous processes (that write diagnostics to the pipe) hanging
forever — the pipe is never read, and so the process idles.

The command that removes the temporary directory follows the one that
writes to the named pipe, it's never called in the above scenario,
which additionally results in `kak-lint.XXXXXXXX` directories being
left behind in `$TMPDIR`.

(Also) Fixes #3681.
2020-11-30 13:51:34 +03:00
Isaac Freund
698b028f83
zig: highlight escapes in strings, update to 0.7.0 2020-11-23 19:03:53 +01:00
Michał Kruszewski
4cb9a46f2b Python: change face for documentation to documentation. 2020-11-23 07:31:56 +01:00
Maxime Coste
14f7d2637c Fix test and re-add triple_string support in python highlighting
Triple strings are now distinct from docstrings, triple strings
only preceeded by blanks on the line are considered docstrings.

Avoid highlighting of the closing marker using a lookahead, this
is not fully correct as it will break on a double quote triple
docstring containing a single quote triple string but that seems
improbable enough; if we encounter this in the wild we can split
the two docstring formats into separate regions.
2020-11-23 08:45:59 +11:00
Maxime Coste
024e0a04f2 Merge remote-tracking branch 'm-kru/python_docstring_comment' 2020-11-22 17:02:31 +11:00
Maxime Coste
f97a4be330 Merge remote-tracking branch 'lenormf/organise-kakrc-keywords' 2020-11-22 16:56:53 +11:00
Maxime Coste
a449bcb62f Merge remote-tracking branch 'm-kru/vhdl_filetype_fix' 2020-11-22 16:55:52 +11:00
Maxime Coste
13ada43dd9 Merge remote-tracking branch 'Screwtapello/test-doc-updates' 2020-11-22 16:54:09 +11:00
Maxime Coste
a8d43ce6ce Merge remote-tracking branch 'AndrewVos/ignore-indent-on-line-completion' 2020-11-22 16:52:37 +11:00
Tim Allen
19115aa524 test: Update the README to describe the current test API.
I removed files which are no longer significant (ui-in, ui-out, selections,
state), added new files which are now important (enabled, script, kak_*),
and reordered the files to reflect the order in which they are applied -
in particular, cmd is applied *after* the input is read.
2020-11-21 16:57:08 +11:00
Andrew Vos
f3f3f80624
Ignore indent when completing lines
When doing line completion, we previously used to not complete the line
if it had different indent to the potential completion.

This commit changes the behaviour to ignore indentation when completing lines.
2020-11-20 20:00:46 +00:00
Michał Kruszewski
fd047e332f Python: Highlight docstrings with documentation face, not string. 2020-11-20 15:33:22 +01:00
connor
8b0fe9cfb0 Avoid recognizing remainder division as a percent string 2020-11-18 16:26:33 -07:00
connor
611ad4c6b9 Connor McKay Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain.  I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors.  I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
2020-11-18 16:26:33 -07:00
Maxime Coste
644660f65f Merge remote-tracking branch 'lenormf/patch-9' 2020-11-18 19:57:29 +11:00
Maxime Coste
0e2ef9085d Merge remote-tracking branch 'lenormf/patch-8' 2020-11-18 19:56:42 +11:00
Maxime Coste
161aa918df Restore auto-select on return, add a flag to disable that for commands
Fixes #3849 Again
2020-11-18 19:56:05 +11:00
Reed Wade
36631fc473
Detect filetype on buffer save too
This allow kaking a new file, add a shebang in the first line, and get
the right filetype detected automatically on save.
2020-11-17 22:32:09 +01:00
Andrew Vos
efd38881d3
Andrew Vos Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain.  I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors.  I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
2020-11-17 17:42:58 +00:00
Frank LENORMAND
5931655397
doc commands: Align mis-indented command flags 2020-11-17 16:09:56 +03:00
Frank LENORMAND
9237fc0388 rc kakrc: Add the rename-buffer keyword 2020-11-17 15:58:58 +03:00
Frank LENORMAND
d673f61620
doc commands: Fix spelling mistake 2020-11-17 15:57:17 +03:00
Frank LENORMAND
8a1ac1998d rc kakrc: Add the arrange-buffers keyword 2020-11-17 15:52:18 +03:00
Frank LENORMAND
f4a387dd10 rc kakrc: Sort the keywords 2020-11-17 15:51:30 +03:00
Maxime Coste
cdcf4b0c7d Merge remote-tracking branch 'JJK96/svelte' 2020-11-17 07:19:13 +11:00
Maxime Coste
129af8dd11 Merge remote-tracking branch 'eraserhd/graphql' 2020-11-17 07:19:01 +11:00
Maxime Coste
4a10cf91e6 Merge branch 'sh' of http://github.com/Ordoviz/kakoune 2020-11-17 07:17:27 +11:00
Maxime Coste
14dbe63b4f Revert "Auto-insert prompt menu completions on <ret> if any text was entered"
Unfortunately this breaks some pretty useful use cases, such as inserting a
command ending with a new-line (as it now leads to an addtional command being
auto-completed on validation)

This reverts commit aab0be529f.
2020-11-17 07:03:14 +11:00
Lennard Hofmann
8972f77f78 sh.kak: Highlight special parameters, e.g. $@, in double quotes 2020-11-14 13:53:52 +01:00
Lennard Hofmann
00857eaadc sh.kak: Do not treat bitwise operator << as here-document start 2020-11-14 11:29:32 +01:00
Jan-Jaap Korpershoek
a84fe437fa Improve svelte highlighter 2020-11-13 00:21:05 +01:00
Jason Felice
05e02e38e3 rc: add graphql filetype 2020-11-11 11:54:25 -05:00
Maxime Coste
27e95ed657 Merge remote-tracking branch 'tototest99/ninjafile' into master 2020-11-11 07:37:30 +11:00
Maxime Coste
b09a0f5779 Merge remote-tracking branch '6112/msys2-wcwidth' into master 2020-11-11 07:36:44 +11:00
Maxime Coste
b30368506b Merge branch 'patch-1' of http://github.com/letharion/kakoune into master 2020-11-11 07:28:58 +11:00
Maxime Coste
d495369e75 Merge remote-tracking branch 'ManDay/master' into master 2020-11-11 07:25:54 +11:00
Claes
94340f7fe7
Add installation command for Gentoo.
The other package managers have their explicit commands listed, so I figured it only made sense to have it for Gentoo as well.
2020-11-10 16:29:39 +01:00
Cedric Sodhi
599307200e Cedric Sodhi Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain.  I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors.  I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
2020-11-10 13:48:42 +01:00
Maxime Coste
dacaad4e93 Merge remote-tracking branch 'lenormf/fix-markdown_bullet_indented' into master 2020-11-10 19:04:36 +11:00
Maxime Coste
5d81be40cf Merge remote-tracking branch 'JJK96/svelte' into master 2020-11-10 19:03:40 +11:00
Frank LENORMAND
ae9088f192 rc markdown: Fix bullet highlighting
This commit prevents the lines following the one that holds the bullet
from being highlighted with the `bullet` face when they're indented:

- The bullet is highlighted properly, so is this sentence
  but this line the ones that would follow are not

Fixes #3582
2020-11-10 08:44:17 +03:00
Jan-Jaap Korpershoek
93e85bebbb Don't use hook_param_capture_1 2020-11-09 09:53:10 +01:00
antab
858650ea57 refactor(ninjafile): simplify ninja.kak and fix few things
* fix multilines for declarations
* fix names with `-`, which Ninja allows
* fix few cases of `=` operators
* fix reserved keywords in `command = …` right-hand side

Co-authored-by: Frank LENORMAND <1379068+lenormf@users.noreply.github.com>
2020-11-08 14:13:45 +01:00
Johannes Altmanninger
cc9447c15b rc perl.kak: highlight substitution with empty replacement, like s{foo}{} 2020-11-08 06:16:27 +01:00
Johannes Altmanninger
1f4362d0ba rc perl.kak: highlight multiple regex modifiers 2020-11-08 06:16:27 +01:00
Maxime Coste
ba02c1d822 Merge remote-tracking branch 'eraserhd/nix-dash-in-word' into master 2020-11-08 15:19:20 +11:00
Maxime Coste
06b082da54 Merge remote-tracking branch 'krobelus/extra-hook-for-fish-insert' into master 2020-11-08 15:18:23 +11:00
Maxime Coste
2e7d93b2f4 Merge remote-tracking branch 'krobelus/ruby-heredoc' into master 2020-11-08 15:17:37 +11:00