Commit Graph

2543 Commits

Author SHA1 Message Date
Maxime Coste
960e7c7e6a Merge branch 'master' of http://github.com/throwawayaccount12345-1/kakoune 2021-11-07 15:39:25 +11:00
throwawayaccount12345-1
3e580b185c
rc/tools/make.kak: quote "${kak_opt_makecmd}"
As per man page eval(1p):
> The eval utility shall construct a command by concatenating arguments together,
> separating each with a `<space>` character.  The constructed command shall be
> read and executed by the shell.

When not quoting `$kak_opt_makecmd` in the eval, the variable is split by
newlines and spaces and then joined by spaces to form the command. If there
were newlines in `$kak_opt_makecmd`, the command would be malformed.


To reproduce:
```kak
set-option global makecmd "
echo foo
echo bar"
make a b c
```

Expected output in the `*make*` buffer:
```
foo
bar a b c
```

Actual output:
```
foo echo bar a b c
```

This patch fixes this.
2021-11-05 13:43:18 -03:00
Frank LENORMAND
6abcb891ea rc man: Gracefully fail link search 2021-11-04 07:31:43 +03:00
Frank LENORMAND
b7452f2c7e rc man: Keep user mode alias in the prompt history
The `m` user mode key is a prompt helper, it's helpful to keep it in
the history by default.
2021-11-04 07:28:06 +03:00
Frank LENORMAND
4cee8917ab rc man: Let mode commands fail
Commands in the `man` user mode shouldn't fail silently.
2021-11-04 07:20:10 +03:00
Frank LENORMAND
924ca6b43a rc man: Drop helper command
The mappings declaration code is not necessarily more readable and
the resulting command is shorter by a single flag.
2021-11-04 07:17:54 +03:00
Frank LENORMAND
28559bc1e7 rc man: Rename mode to man
The suffix seems redundant when entering the mode with the
`enter-user-mode` command.

Closes #3970
2021-11-04 07:15:43 +03:00
Sidharth Kshatriya
be8dd0eb3d Erlang syntax highlighting: Improved support for numeric literals, refs, ports and pids 2021-10-28 12:43:00 +05:30
Maxime Coste
946673850e Merge remote-tracking branch 'sidkshatriya/erlang-syntax-highlighting' 2021-10-28 09:09:46 +11:00
LXNN
ebcb47e096 Add new '_', 'case', and 'match' keywords to Python highlighter 2021-10-24 12:56:18 +01:00
Sidharth Kshatriya
a547e731f2 Add detection, intialization and basic syntax highlighting for Erlang 2021-10-24 11:47:55 +05:30
Taupiqueur
907cc576ea Fix AsciiDoc blocks
https://docs.asciidoctor.org/asciidoc/latest/blocks/delimited/
2021-10-17 00:19:53 +02:00
Evan Lloyd New-Schmidt
6b6577d8b9 Disable comment_line for ocaml/coq
OCaml does not have line comments, and as far as I can tell neither
does Coq. Setting it to '' (like markdown and html do) throws an error
that can be handled or displayed instead of inserting the default '#'.
2021-10-04 13:19:00 -04:00
Maxime Coste
85a1f78ca9 Merge remote-tracking branch 'Ordoviz/patch-2' 2021-09-29 20:31:30 +10:00
Maxime Coste
133cb9053a Merge remote-tracking branch 'hugomg/better-lua-indentation' 2021-09-29 20:25:15 +10:00
Lennard Hofmann
55b2b8c88d rc markdown: Fix fenced code blocks
The closing ``` in the following example was not detected because the
indented code block highlighter was higher up in the hierarchy than the
fenced code block highlighter:

```
    indented
```

The codeblock highlighter used to be inline so that it has an effect
inside listblocks. This commits adds a listblock/codeblock highlighter
as a replacement.

Fixes #4351
2021-09-27 17:34:31 +02:00
Hugo Musso Gualandi
c26fb65ed1 lua.kak: Add some test cases, and also fix a bug 2021-09-26 11:19:58 -03:00
Maxime Coste
fb734cb61b Merge remote-tracking branch 'lenormf/fix-4273' 2021-09-26 11:09:34 +10:00
Maxime Coste
14e820544a Merge remote-tracking branch 'SeerLite/latex-remove-hooks' 2021-09-26 11:09:34 +10:00
Maxime Coste
24f6660bfc Merge remote-tracking branch 'alexherbo2/fix-crystal-escape-string' 2021-09-26 11:03:50 +10:00
Maxime Coste
1456431951 Merge remote-tracking branch 'Screwtapello/add-diagnostic-faces' 2021-09-21 21:11:56 +10:00
kjduncan
3158c9c223 filetype:kotlin keywords to static word list, constants/generics regex improvement 2021-09-21 21:06:35 +10:00
Frank LENORMAND
1815a352f6 rc doc: Don't spawn processes unecessarily 2021-09-16 11:47:44 +03:00
Frank LENORMAND
ab1704ce10 rc doc: Hide errors on missing directories
Fixes #4273.
2021-09-16 11:46:18 +03:00
SeerLite
a39516e0dd rc latex: Add missing scope arg to remove-hooks 2021-09-12 17:31:12 -03:00
Hugo Musso Gualandi
aa1a280309 lua.kak: more accurate "end" insertion
- Also insert "end" after "do", "else" and "elseif"
- Do not insert "end" after strings or comments containing keywords
- Only insert "end" if the block is empty

An example of the last item is if we want to add a new line to the start
of an unclosed block that already contains statements. @ is the cursor.

    -- before
    if a then@
        x = 1
        y = 2

    -- after
    if a then
        @
    end
        x = 1
        y = 2

In this case, inserting the "end" before the statements is probably not
what the programmer wants. It might make more sense to insert the "end"
after the statements, but that is potentially confusing due to spooky
action at a distance. I think the least confusing thing to do in this
situation is to not insert the "end".
2021-09-11 01:29:01 -03:00
Hugo Musso Gualandi
8755fc679e lua.kak: improve the indentation logic
This commit makes several improvements to the Lua indentation logic.

- Don't indent if the keyword is inside a string or comment
- Indent inside "do end"
- Indent inside "repeat until"
- Indent after a line ending with "{" or "("
- More accurate un-indentation for the "end" keyword

For the last point, previously we tried to match the indentation of the
starting keyword of the block.  However, sometimes this guessed wrong
and produced the wrong indentation, as the following example shows. The
new logic is to indent the "end" by one less level than the contents of
the block.

   while true do
      if false then
      end
      end -- This was incorrectly matched with the "if"
2021-09-11 01:27:41 -03:00
Hugo Musso Gualandi
ffc69544db lua.kak: use %[] instead of %{}
We will want to use unbalanced "{" and "}" in some of the rules.
To support that, let's use "%[]" instead.
2021-09-11 01:19:17 -03:00
Hugo Musso Gualandi
94b35a4071 lua.kak: remove some extra spaces 2021-09-11 01:18:49 -03:00
Tim Allen
dc07c649de Add standard DiagnosticError and DiagnosticWarning faces.
kak-lsp uses these faces to mark errors inside the buffer, instead of the Error
face which is much more jarring, and which does not have an associated warning
face. Since the :spell command marks errors inside the buffer, it's also updated
to use this new face.

Adding these faces to Kakoune makes it more likely that colorschemes will
automatically do the right thing when used with kak-lsp, and makes it possible
to use a subtle appearance (like curly underlines) for in-buffer errors while
keeping Kakoune errors bold and jarring as they should be.
2021-09-07 17:46:50 +10:00
Taupiqueur
f37633277a Fix Crystal escape string 2021-09-04 23:50:12 +02:00
Maxime Coste
253dcde976 Merge remote-tracking branch 'TheDaemoness/patch-1' 2021-09-04 09:38:01 +10:00
ioh
b739ca4ca6 Fix unterminated string in rc/filetype/php.kak 2021-09-02 14:54:47 -07:00
TheDaemoness
330515154d Stop editorconfig.kak from setting aligntab 2021-08-29 11:55:33 -07:00
Maxime Coste
13eb5a677f Merge remote-tracking branch 'StatPal/master' into HEAD 2021-08-28 13:55:11 +10:00
Maxime Coste
b4c994c4ea Merge remote-tracking branch 'listentolist/x11-repl' into HEAD 2021-08-28 13:54:38 +10:00
notquiteamonad
b9c02d48ab
Fix regex for nix paths 2021-08-23 11:06:14 +01:00
Subrata
25ffbacb70 In the tmux-repl, it tackles the situations where there is already some other tmux pane open
and we want to send text (or do other works) in that specific pane.
2021-08-22 09:57:09 -05:00
Tilman List
0d74268451 add module dtach-repl 2021-08-21 18:42:29 +02:00
Maxime Coste
94388dc51e Merge remote-tracking branch 'alexherbo2/fix-typos' 2021-08-17 08:48:47 +10:00
Maxime Coste
e63ab10424 Merge remote-tracking branch 'gustavo-hms/master' 2021-08-17 08:43:25 +10:00
Maxime Coste
3a6ab49d5c Merge remote-tracking branch 'kkga/gdscript.kak' 2021-08-17 09:41:10 +10:00
Maxime Coste
d4d5a2f32c Merge http://github.com/mujo-hash/kakoune 2021-08-17 08:29:24 +10:00
Maxime Coste
74ae6469e3 Merge remote-tracking branch 'krobelus/fish-snowflakes' 2021-08-17 08:27:17 +10:00
Johannes Altmanninger
89229bab39 Teach :comment-line about the fennel language
Fixes #4292
2021-08-09 22:45:57 +02:00
Johannes Altmanninger
faba50d528 rc fish: fix keyword highlighting false positive
"command" is a built-in, but these are not:

	$command
	some-command
	command-some
2021-08-09 22:45:52 +02:00
ioh
4932aad623 Add gentoo linux ebuild filetype detection. 2021-08-06 11:30:06 -07:00
Maxime Coste
580869fd49 Merge remote-tracking branch 'StatPal/master' into HEAD 2021-08-05 11:00:30 +10:00
Hugo Musso Gualandi
4f0f3eefd0 Remove a duplicate highligher rule for _G/_ENV 2021-08-04 13:24:16 -03:00
Hugo Musso Gualandi
dc88220e4a Recognize and/or/not in a separate rule
This is the usual style
2021-08-04 13:24:16 -03:00
Hugo Musso Gualandi
be09ff4680 lua.kak: highlight and/or/not as operators 2021-08-04 13:24:16 -03:00
Hugo Musso Gualandi
d3d3c77ab9 lua.kak: highlight Lua 5.4 variable attributes 2021-08-04 13:24:16 -03:00
Hugo Musso Gualandi
3621a98170 lua.kak: Treat "local" as a normal keyword 2021-08-04 13:24:16 -03:00
Hugo Musso Gualandi
ceb3f55f3c lua.kak: the builtin is called _ENV, not _E
The Lua highlighting was highlighing `_E` instead of `_ENV`
2021-08-04 13:24:16 -03:00
Hugo Musso Gualandi
43d9f59fda lua.kak: keyword should have higher priority than function call
Currently, the "return" in `return {}` is highlighted as a function call, instead of being highlighted as a keyword
2021-08-04 13:24:16 -03:00
Subrata
8d27d8d581 R file highliight change. Merged into single highlighter for math, summary and complex functions. 2021-07-30 11:29:29 -05:00
Maxime Coste
52087a506d Merge remote-tracking branch 'hugomg/rockspec-highlighting' 2021-07-30 07:37:36 +10:00
Maxime Coste
8a7f8f67be Merge remote-tracking branch 'hugomg/lua-comment-insert-indent' 2021-07-30 07:37:01 +10:00
Hugo Musso Gualandi
52f7999705 Recognize ".rockspec" file extension as a Lua file
rockspec files are used by [Luarocks](https://luarocks.org/), the
most prominent package manager for Lua. Despite the different file
extension, these files are actually Lua files and should be syntax
highlighted as such.

For what it is worth, Neovim also does the same thing that I am doing in
this commit. They recognize both ".lua" and ".rockspec" as being Lua
files (and no other extensions, as far as I know).
2021-07-26 17:41:00 -03:00
Subrata
a466f2f6d0 R file highlights. Added :: etc, added new functions from base::Ops and method::Ops, tried to correct inconsistency with %any% case. Added indexing and assign operator. 2021-07-22 23:11:40 -05:00
Maxime Coste
9cf79bfd1e Merge remote-tracking branch 'listentolist/pascal-filetype' 2021-07-20 22:40:06 +10:00
Tilman List
807be115b2 make pascal filetype compatible with bash
When using bash, the whitespaces before the delimiting identifier `EOF`
cause an error as well as a missing `\` before `$`.
2021-07-17 20:01:12 +02:00
Robin Stumm
507e16ff23 comment.kak: add cue 2021-07-16 17:55:10 +02:00
Hugo Musso Gualandi
f440a1c109 Lua: insert comment prefix *after* the indent
This fixes a bug in how the Lua scripts handle new comment lines.
Currently if we have a comment that is indented, when we add a new line
it inserts the `--` prefix before the automatic indentation.

```
  --ABC
--  XYZ
```

After the fix, it correctly inserts the comment prefix after the
indentation:

```
  --ABC
  --XYZ
```

The solution I used is inspired by the ruby.kak script.
2021-07-13 13:28:30 -03:00
Maxime Coste
911edf6ea3 Merge branch 'patch-1' of http://github.com/catdevnull/kakoune 2021-07-12 10:16:01 +10:00
throwawayaccount12345-1
719b23c54f
Fix #3957
If the session wasn't valid anymore by the time the linter finishes,
writing to "$dir"/fifo would hang forever leaving temporary files in
/tmp/kak-lint.XXX and the process alive. This commit fixes that by
not writing to the fifo if the session was not valid.

throwawayaccount12345-1 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.
2021-07-09 22:18:25 -03:00
Nulo
b13e0598e2
Spawn a shell when using xfce4-terminal
Previously, commands like repl broke because of this
2021-07-08 01:44:17 +00:00
Maxime Coste
2b68b6737c Update spell.kak to use command/response fifo 2021-07-07 19:25:06 +10:00
Maxime Coste
699050d2d6 Merge remote-tracking branch 'alexherbo2/add-missing-eruby-indent-group' 2021-07-07 19:15:28 +10:00
Maxime Coste
8c2ee492fe Merge remote-tracking branch 'dmerejkowsky/dart-extension-keyword' 2021-07-07 19:13:29 +10:00
Maxime Coste
29b6f06577 Merge remote-tracking branch 'maximbaz/spell-ignore-minus' 2021-07-07 19:13:02 +10:00
Maxime Coste
5b7d544299 Merge remote-tracking branch 'Frojdholm/markdown-codeblock-highlighting' 2021-07-07 19:09:05 +10:00
Hampus Fröjdholm
e0731b70cf Improve highlighting of markdown lists
Removes the inline code highlighter for lists to improve
readability in indented lists.
2021-07-06 13:32:23 +02:00
Maxim Baz
0289131c24
spell.kak: ignore another undocumented control char 2021-07-01 21:52:59 +02:00
Dimitri Merejkowsky
0c1e89a010 dart: add extension to the list of keywords 2021-07-01 16:03:30 +02:00
Maxime Coste
4fd0fc3d80 Merge remote-tracking branch 'alexherbo2/fix-windowing-detection-priority' 2021-06-26 12:54:24 +10:00
Hristo Staykov
69c9d00569
rc swift: Add open and internal keywords 2021-06-24 14:29:10 +03:00
Taupiqueur
3fe4367ce0 Fix windowing detection priority 2021-06-21 16:05:09 +02:00
Taupiqueur
59d39c60d7 Add missing eRuby indent group 2021-06-15 14:30:35 +02:00
Maxime Coste
8fdda6d980 Merge remote-tracking branch 'greenfork/improve-elixir-hooks' 2021-06-15 20:48:06 +10:00
Maxime Coste
682426bf7b Merge remote-tracking branch 'greenfork/improve-ruby-hooks' 2021-06-15 20:47:26 +10:00
Maxime Coste
a1a924f9a5 Merge remote-tracking branch 'ktiy/zig' 2021-06-15 20:45:43 +10:00
Maxime Coste
3497e05fce Merge remote-tracking branch 'gkrrr/master' 2021-06-15 20:44:21 +10:00
Taupiqueur
ad1dc79789 Fix typos 2021-06-13 04:12:03 +02:00
c piapiac
bdd7a956f3
rc zig: auto-insert multiline string prefix on newline 2021-06-12 03:38:27 -07:00
c piapiac
73910efce8
rc zig: 0.8.0 language changes
* adds nosuspend keyword
* adds @extern builtin
* removes @TagType builtin
2021-06-12 03:26:32 -07:00
Gadzhi Kharkharov
4f51130fc9 rc: add gdscript.kak 2021-06-06 14:08:13 +03:00
Dmitry Matveyev
2f22fef5bd Rename exec->execute-keys for consistency 2021-06-06 14:29:51 +06:00
Dmitry Matveyev
a65501a1d9 Rename exec->execute-keys for consistency 2021-06-06 14:28:28 +06:00
Dmitry Matveyev
0b1654b0cf Better comment inserting tests and fix implementation 2021-06-06 14:13:34 +06:00
Dmitry Matveyev
167cffb3da Better comment inserting tests and fix implementation 2021-06-06 14:08:40 +06:00
Dmitry Matveyev
8867e40929 Fix elixir copying comment # sign
Elixir uses # for comments, not --.
Implementation is copied from Nim.
2021-06-06 01:32:56 +06:00
Dmitry Matveyev
0f49e7375e Add auto-inserting of "end" keyword to Elixir
fixup! Add auto-inserting of "end" keyword to Elixir
2021-06-06 01:32:53 +06:00
Dmitry Matveyev
fcc04384d1 Fix Ruby <ret> mid-comment
Implementation is copied from Nim.
2021-06-06 00:38:36 +06:00
Dmitry Matveyev
02e625e8fb Remove electric behavior for end keyword
Correctly indentint on "end" keyword seems very hard,
it is simpler to remove it. And we already insert "end"
in ruby-insert-on-new-line hook, so the removal shouldn't
hurt too much.
2021-06-06 00:30:50 +06:00
Girish Kumar
95d224a21d fix: iterm focus client from different tab or window
currently focus client doesn't work if target pane of the client is in different tab or window from current one.
select window, select tab should be triggered in order to select a pane on a currently not focused tab or window.
2021-06-02 12:05:03 +05:30
Răzvan C. Rădulescu
c24cbebe47 Fix purescript comments and keywords 2021-05-30 15:39:58 +03:00
Maxime Coste
d758bbf09b Merge remote-tracking branch 'yerlaser/patch-1' 2021-05-28 20:55:25 +10:00
Maxime Coste
b37a282845 Merge remote-tracking branch 'yerlaser/patch-2' 2021-05-28 20:53:18 +10:00
raingloom
51c9811c7a add sps and sls file extensions for scheme
These extensions are the ones used automatically by the Akku package
manager when generating a new package, so they should probably be
added.
2021-05-28 20:51:06 +10:00
Taupiqueur
5ba51b377a Fix eRuby detection 2021-05-24 13:18:50 +02:00
Yerlan
48a07888de
Fixing strings in Dart
1. Deleted back-tick strings which are not a valid Dart syntax
2. Added string interpolation for ${}
3. NOT adding string interpolation for $var as this is considered a bad practice
2021-05-19 22:44:27 +02:00
Yerlan
a390a6f356
Highlight extra chars in literal
This commit adds highlighting characters other than the first with red color helping to get immediate feedback of the syntax error.
This helps those who come from languagles like JS where single quotes also denote multi-character strings.
2021-05-18 20:51:52 +02:00
Maxime Coste
38f85706ff Merge remote-tracking branch 'danr/jedi' 2021-05-18 21:06:28 +10:00
Maxime Coste
67e5ecc816 Merge branch 'perl_allow_strref' of http://github.com/fennewald/kakoune 2021-05-18 21:05:35 +10:00
Maxime Coste
db24a78e2c Merge remote-tracking branch 'dead10ck/fix-rust-solarized' 2021-05-18 21:02:10 +10:00
Maxime Coste
b9c02091a7 Merge remote-tracking branch 'hristost/hristost/swift-extension-keyword' 2021-05-18 21:01:14 +10:00
Yerlan
0dcbf52216
Java: add highlighting for char literal 2021-05-17 21:15:30 +02:00
Yerlan
c483d65594
Simplifying regex
As suggested by @krobelus.
However, I figured that highlighting characters as strings is not correct as they are more like values.
2021-05-17 20:54:29 +02:00
Yerlan
c7f7e01bba
Kotlin: string interpolation and character literal
Adding highlighting for string interpolation inside double-quoted strings and character literals inside single-quotes.

Avoiding string interpolation in the form of $var as this is considered bad practice.
2021-05-17 20:45:48 +02:00
fennewald
eb205cf3c2 Allowed for references of strings 2021-05-17 14:30:33 -04:00
Yerlan
dff23f2f3f
Kotlin: Add highlight for character literals 2021-05-17 18:44:10 +02:00
hss
92800c07ef rc swift: highlight "extension" and "fileprivate" keywords 2021-05-13 23:44:22 -04:00
Dan Rosén
6198ebe37d Fix jedi off-by-one and refactor jedi
The off-by-one was introduced by cd9b1e66 which changed `column-1` to `column`.

The refactoring solves some esoteric quoting errors: I think cases like
unbalanced braces in the bufname and client were not supported.
2021-05-04 20:57:13 +02:00
Skyler Hawthorne
fb04102fe3 add TODO comment highlighting 2021-05-02 20:38:42 -04:00
Markus F.X.J. Oberhumer
c4c093d764 doc: small UX improvements.
Place the cursor at the beginning of the file (and not at
the end of the first line) and improve error message in
case of failure.
2021-05-02 11:27:48 +02:00
Maxime Coste
7090be59df Merge remote-tracking branch 'occivink/c-family-quote-variable' 2021-05-01 14:42:03 +10:00
Skyler Hawthorne
a25ef2bd6d fix rust pub highlight 2021-05-01 00:35:56 -04:00
Olivier Perret
0bcbcef7dc c-family.kak: properly quote shell variable
This will fail with filenames with spaces otherwise
2021-04-30 11:53:18 +02:00
Michał Kruszewski
b8aae26586 [VHDL] Add 'character' to types highlight. 2021-04-29 13:38:15 +02:00
Maxime Coste
f09844c7e5 Merge remote-tracking branch 'dead10ck/fix-rust-solarized' 2021-04-29 21:04:39 +10:00
Maxime Coste
5467a8eada Merge remote-tracking branch 'yerlaser/master' 2021-04-29 21:04:04 +10:00
Skyler Hawthorne
488798d977 improve colors for rust/solarized
* bring colors more aligned with upstream solarized implementations
  (e.g. vim, emacs)
* tweak rust syntax
    * add more details, like operators, highlighting certain traits and
      types from std, etc
    * remove certain highlighters, like user types. This has the effect
      of just highlighting almost the whole code base one color, and
      wasn't really correct either. CamelCase for types is only convention
2021-04-28 21:27:43 -04:00
Yerlan
0f99fb53bc
Removing more kotlin_ prefix
Done. Please review again :)
2021-04-28 19:07:32 +02:00
Taupiqueur
f65fbd1a2d Ruby: Add require_relative keyword 2021-04-28 14:25:51 +02:00
Maxime Coste
3b147bca0a Merge branch 'patch-1' of https://github.com/dzamo/kakoune 2021-04-28 08:14:52 +10:00
Yerlan
381cc1dec3
Addressing comments by mawww
Done. Thanks!
2021-04-27 19:52:15 +02:00
dzamo
cd9b1e66f0
Update jedi.kak
I needed this patch accommodating minor Jedi API changes to get Jedi completion working.  I've got Jedi 0.18.0.
2021-04-27 17:42:29 +02:00
Taupiqueur
afc30a8940 Markdown: Add Crystal
https://crystal-lang.org
2021-04-26 22:06:48 +02:00
Yerlan
d7d160757a
Kotlin.kak new attempt
Updates to address these comments:
"I still dont quite see why we need to introduce all those options, especially with names that dont say anything about kotlin. I would expect a single kotlin_static_words option to be enough.
Similarly, a single highlighter should be enough here."
2021-04-26 19:29:22 +02:00
Markus F.X.J. Oberhumer
2b3e5bc972 rc doc: do not require arguments for ":doc" or ":help"
When no arguments are given simply run ":doc doc".
2021-04-26 00:13:01 +02:00
Maxime Coste
40270a9c8b Merge remote-tracking branch 'Eluminae/master' 2021-04-25 20:23:10 +10:00
eli
453cb7f367 Fix issue with tmux.kak setting empty TMPDIR variable 2021-04-24 17:59:13 +01:00
Gustavo Henrique Montesião de Sousa
2454cf3345 Add basic support for the Janet language 2021-04-23 14:49:24 -03:00
Maxime Coste
e973991c49 Merge remote-tracking branch 'SolitudeSF/suffix' 2021-04-18 17:07:30 +10:00
Maxime Coste
732ee04c84 Merge branch 'better_headerguards' of http://github.com/fennewald/kakoune 2021-04-18 17:04:40 +10:00
Johannes Altmanninger
0a9c90fecf rc: use a separate *-insert hook to auto-insert comments
This should cover all filetypes that already auto-insert comments,
except for rust.kak, which is left for a follow-up.

Most of these are straightforward, some explanation for special cases:

rc/filetype/zig.kak rc/filetype/cue.kak

  These indent hooks used their own logic to indent after "{" only if
  no comment was inserted. Replace this logic by checking if a comment
  was inserted. This works because these "*-insert" hooks are run
  before their respective "*-indent" hooks.
 
rc/filetype/php.kak

  This also has some logic to insert "*" after "/*" lines. Basic
  usage seems to work still. In future this should borrow from the
  c-family one, which works a bit better.
2021-04-17 20:56:23 +02:00
Johannes Altmanninger
0264c84742 rc: when auto-inserting comments, include trailing spaces from previous line
We already do this in most places.
2021-04-17 20:56:23 +02:00
Johannes Altmanninger
eb3beff959 rc: make insertion hooks more consistent 2021-04-17 20:56:23 +02:00
Johannes Altmanninger
3ab2b98ec3 rc: remove spurious tabs
This makes it easier to be consistent.

Also replace "<<-EOF" by "<<EOF", since the former only does trims
tabs, not spaces.
2021-04-17 20:56:23 +02:00
Johannes Altmanninger
787ff5d002 rc sass: highlight and copy full comments, and support CSS comments 2021-04-17 20:56:23 +02:00
Johannes Altmanninger
9fadda0df4 rc nim: follow our convention 2021-04-17 20:56:23 +02:00
Johannes Altmanninger
997059fed1 rc javascript: fix line comment prefix 2021-04-17 20:56:23 +02:00
Maxime Coste
5696ed02e4 Fix invalid insertion of ; after } closing some functions
Function taking a parameter with a struct tag on the last line
before the opening { were wrongly treated as structs. Add some
additional regex logic to try to catch those cases.

Fixes #4136
2021-04-08 20:14:02 +10:00
Maxime Coste
abf68320fa Merge remote-tracking branch 'c7skasku/d-nested-block-comments' 2021-04-07 20:08:21 +10:00
Cormac Stephenson
710f121a54 d.kak: highlight nested block comments recursively
https://dlang.org/spec/lex.html#comment
2021-04-06 13:45:04 +01:00
SeerLite
3397737b16 rc markdown: Fix code fence regex
The invalid regex `)\b` currently matches anything, so this didn't cause
any errors.
It is still invalid though, so I fixed it by moving the `\b` to the end
of the non-raw_attribute language name (like the original regex). The
raw_attribute one shouldn't need this because the `}` marks the end of
the language name anyway.

Fixes #4025
2021-04-01 22:53:44 -03:00
SeerLite
e84dd80244 rc markdown: Fix trailing whitespace removal
Modified the test cases accordingly too
2021-04-01 22:27:30 -03:00
SeerLite
5c03e2bd54 rc markdown: Add -insert hook 2021-04-01 22:22:08 -03:00
Carson Riker
b98ec3836b Stripped directory prefix from c-family autogenerated header guards 2021-03-31 17:33:04 -04:00
Maxime Coste
212242cc60 Slight cleanup of the c-family highlighters
* Extract raw strings to the C++ specific section
* Merge different documetnation comment formats in single regions
2021-03-31 21:24:45 +11:00
SolitudeSF
fe66b8a390
rc nim: update suffix spec 2021-03-24 17:11:26 +02:00
Maxime Coste
c507863a00 Merge remote-tracking branch 'Eluminae/wayland' 2021-03-23 21:50:27 +11:00
Maxime Coste
d8fbe3105d Merge branch 'lua-auto-indent-improvement' of http://github.com/cipharius/kakoune 2021-03-23 19:57:46 +11:00
cipharius
78a0b5e4c7 Improves Lua auto indent and end insertion
Current solution makes it difficult to use common Lua practices of having one-liner if statements and using anonymous functions.
New solution prevents auto-indentation and end insertion, if the previous line contains an "end" keyword.
It does not attempt to match each structure with corresponding end, since using multiple end keywords in single line is a very rare occurance in Lua.
2021-03-23 10:36:05 +02:00
Reed Wade
feab20260a
Permit usage on wayland environments.
Some wayland wm will not setup a DISPLAY environment variable. Kakoune
should allow x11 windowing toolkit for those wm also.
2021-03-21 13:41:40 +01:00
Lennard Hofmann
8d24041c1a rc markdown: Fix HTML highlighting in inline code
Because the HTML highlighter was higher up in the hierarchy than the code
highlighter, it took precedence. I fixed it by making it an inline region.
Using my new knowledge of "inline" I was able to remove one line of code.

Fixes #4091
2021-03-21 09:52:00 +01:00
SeerLite
c0e8dceb5d js: Highlight special variables at start of file 2021-03-17 23:59:05 -03:00
Maxime Coste
7f8f748d06 Merge remote-tracking branch 'basbebe/kitty_command' 2021-03-11 20:41:30 +11:00
basbebe
1183e716bc
make kitty repl command consistent with other kitty commands 2021-03-11 10:40:14 +01:00
basbebe
8d5d0d7d90
use kitty launch command, make commands consistent
`new-window` is a legacy command (see https://github.com/kovidgoyal/kitty/issues/2708).
`KITTY_WINDOW_ID` should be set for any kitty window anyways.
2021-03-11 10:36:30 +01:00
Maxime Coste
c12d1c16b7 Merge remote-tracking branch 'hristost/hristost/swift-multiline-strings' 2021-03-11 08:02:53 +11:00
Maxime Coste
835eaf5495 Merge remote-tracking branch 'pickfire/rust-indent' 2021-03-11 07:51:08 +11:00
hss
566143ac6d rc swift: highlight multiline strings 2021-03-07 21:26:31 -05:00
Ivan Tham
ebe7f82bb2 Support rust visibility for enum and others 2021-03-07 14:22:43 +08:00
Ivan Tham
8df5621334 Support dedent with rust fn qualifiers 2021-03-07 14:12:01 +08:00
Maxime Coste
60c44e1623 Merge remote-tracking branch 'andreyorst/fennel-filetype' 2021-03-02 21:13:25 +11:00
Andrey Listopadov
877cc9cf88 add fennel filetype 2021-03-01 19:51:36 +03:00
Maxime Coste
bdee3abd88 Match on kitty window id when available
This ensures new window are created in the same os window as the
current client instead of the default one.

Closes #4009
2021-03-01 08:47:09 +11:00
Maxime Coste
ca5e6f835c Merge remote-tracking branch 'gf3/graphql-syntax' 2021-03-01 08:27:36 +11:00
Maxime Coste
a0f567f5e6 Merge remote-tracking branch 'm-kru/troff_comment' 2021-03-01 08:26:02 +11:00
Isa Cichon
0fc91b9576 Fix usages of ModeChange hook
hook param always begins with either push: or pop:

Fixes #4078
2021-02-28 21:07:21 +01:00
Michał Kruszewski
b7def7350c Add comment highlighter for troff files.
Add comment highlighter for troff files.
Also highlight the end of the macro definition.
2021-02-25 20:18:10 +01:00
Maxime Coste
726b96da69 Merge remote-tracking branch 'forbesmyester/master' 2021-02-25 20:24:54 +11:00
Maxime Coste
70548ecc14 Merge remote-tracking branch 'rwpeterson/juliahl' 2021-02-25 20:23:10 +11:00
Maxime Coste
84211d2b60 Merge branch 'add-comment-chars-for-scheme' of https://github.com/Calum-J-I/kakoune 2021-02-25 20:22:02 +11:00
Maxime Coste
475e1ccf28 Merge commit 'refs/pull/4047/head' of https://github.com/mawww/kakoune 2021-02-25 20:20:25 +11:00
Bob Peterson
c457c2b1c1 rc julia: add multiline comments 2021-02-21 19:20:03 +01:00
Calum
3e456ae34e use lisp comments for scheme 2021-02-22 01:21:04 +13:00
Ivan Tham
4e594e034a Dedent rust await function with ? 2021-02-17 01:17:17 +08:00
Ivan Tham
049591f6b4 Dedent rust empty match 2021-02-17 01:17:14 +08:00
Maxime Coste
dea44e4964 Merge remote-tracking branch 'lenormf/fix-spell' 2021-02-11 20:40:50 +11:00
Maxime Coste
fb30d3751c Merge remote-tracking branch 'krobelus/yaml-comment' 2021-02-11 20:30:34 +11:00
Maxime Coste
1440db3f89 Merge remote-tracking branch 'krobelus/rest-leaked-code-highlighting' 2021-02-11 20:29:43 +11:00
Johannes Altmanninger
7ddaf071c7 rc java: highlight byte/short/long primitive types 2021-02-10 21:09:30 +01:00
Johannes Altmanninger
41059b3f0c rc yaml: "#" inside a word is not a comment 2021-02-10 21:09:25 +01:00
Johannes Altmanninger
cfae4dda91 rc restructuredtext: don't highlight first character of next line as code
Reproduce by creating a *.rst buffer with the text below. The "N" used to
be highlighted as code.

::

    code

Not code
2021-02-10 21:09:16 +01:00
Matthew Forrester
e1db59fb8d rc repl x11: do not send new line
The X11 repl is unique in that it sends the selection (or parameter) with a
new line appended.

This patch removes that new line and thus, brings it into line with the tmux
and kitty versions.
2021-02-05 06:04:16 +00:00
Samadi van Koten
057c532ba8 Fix editorconfig incorrectly matching properties with prefixes 2021-02-04 08:40:22 +00:00
Maxime Coste
5eb2be3e6b Merge remote-tracking branch 'kayhide/kitty-listen-on' 2021-01-28 21:07:16 +11:00
Maxime Coste
8738be1252 Merge branch 'master' of http://github.com/Kabouik/kakoune 2021-01-28 21:06:14 +11:00
Maxime Coste
69f1c8cae5 Merge remote-tracking branch 'Ordoviz/markdown' 2021-01-28 21:02:47 +11:00
Maxime Coste
b8f1df6458 Fix man for systems lacking the col command
At least Alpine linux with mandoc does not have the col command,
as it is easy to emulate with sed, fallback onto it when it does
not exist.
2021-01-26 09:28:24 +11:00
Hideaki Kawai
52222a52e4 Support KITTY_LISTEN_ON on kitty-terminal-tab and kitty-focus 2021-01-22 09:19:35 +09:00
Hideaki Kawai
38b914162a
Update rc/windowing/kitty.kak
Co-authored-by: Screwtapello <thristian@gmail.com>
2021-01-22 08:41:41 +09:00
Mathieu Laparie
0a978865f4 Add comment symbols for r filetypes, remove rmd for now 2021-01-21 15:35:35 +01:00
Mathieu Laparie
b74dfa1e74 Add R and Rmd options for comment.kak 2021-01-21 15:12:41 +01:00
Hideaki Kawai
0917191118 Respect KITTY_LISTEN_ON when launching terminal 2021-01-21 18:58:48 +09:00
Lennard Hofmann
61fabee03f rc markdown: Highlight HTML tags 2021-01-19 15:42:37 +01:00
Frank LENORMAND
efb6fca068 rc spell: Remove :spell-replace default value
This commit removes the default prompt value from the `spell-replace`
command.

Currently, running the command after selecting a misspelled word
might not allow the editor to propose alternative spellings because
it completes upon whatever is inserted into the prompt. If the words
returned by `aspell` are too different from the currently misspelled
word, no candidates are shown.

For example, selecting “unanymously” and running `:spell-replace`
will not show any candidates under the current implementation (the
‘y’ probably trips the fuzzy-matcher).

The user develops a habit of clearing the prompt every time, because
that's the only way to make sure all suggestions from `aspell` are
visible, so the editor might as well not have any default value for
`:spell-replace`.
2021-01-19 16:38:23 +03:00
Maxime Coste
3bb576edde Merge branch 'patch-1' of http://github.com/jhalmen/kakoune 2021-01-19 20:56:33 +11:00
Maxime Coste
52ab656fc1 Merge remote-tracking branch 'forbesmyester/master' 2021-01-19 20:56:14 +11:00
Maxime Coste
2578759252 Merge remote-tracking branch 'chambln/pfm' 2021-01-19 20:55:03 +11:00
Maxime Coste
86997bfa09 Merge remote-tracking branch 'SeerLite/js-multiline-division' 2021-01-19 20:54:32 +11:00
Maxime Coste
5b7048dc34 Merge remote-tracking branch 'ifreund/meson-fix' 2021-01-19 20:54:25 +11:00
Isaac Freund
033b55c3ac
zig.kak: fix highlighting of empty doc comment
If a line contains three slashes directly followed by a new line, the
next line is also erroneously highlighted as a doc comment currently.
Using a lookahead instead fixes this.
2021-01-18 00:44:32 +01:00
Matthew Forrester
c9d50660f1 rc repl x11: allow arg for repl send & refocus kak
tmux-send-text allows sending an argument, when supplied the argument
will be sent to the REPL instead of the current selection.

tmux-send-text also keeps kak focussed, which does not happen in the x11
variant as it uses xdotool to switch window.

this patch allows:

 * Passing an argument to x11-send-text, so that value will be sent
 instead of the current selection.
 * We capture the window id of the current (presumably kak window)
 before we use xdotool to switch window. We can therefore switch back to
 kak afterwards (which we do)
2021-01-16 15:57:32 +00:00
Gianni Chiappetta
fe3f8d2271
chore(rc): support nested field strings in graphql 2021-01-14 15:46:50 -05:00
Gianni Chiappetta
69a152d680
chore(rc): change graphql block delimiters to support better regexs 2021-01-14 11:40:17 -05:00
Gianni Chiappetta
ec80d83e71
feat(rc): improve graphql field arguments highlighter 2021-01-13 21:37:08 -05:00
Gianni Chiappetta
d8f65bd0ec
feat(rc): match .graphqls file extension as graphql filetype 2021-01-13 21:31:29 -05:00
Gianni Chiappetta
1c639f7810
feat(rc): improve graphql syntax highlighters 2021-01-13 21:29:03 -05:00
Isaac Freund
233b990275
meson: improve highlighting, add static words
Now all functions are highlighted and builtins are highlighted
with their own face.
2021-01-13 15:44:38 +01:00
jhalmen
33f44f6abc
editorconfig: fix trim_trailing_whitespace
also trim all superfluous newlines at end-of-file if `trim_trailing_whitespace` is set
2021-01-12 15:45:39 +01:00
SeerLite
569267b18d rc js: Correctly highlight multiline division. 2021-01-11 13:06:38 -03:00
Gregory Chamberlain
a49b1c4996 Adjust markdown code fences filetype regex
This highlighter (line 50 of markdown.kak) looks for the filetype
specified by the author at the top of the code fence, e.g.

``` python
print("hello")
```

and highlights the code within using Kakoune's relevant highlighter --
in this case Python.

Some flavours of markdown use curly braces and other characters in the
first line such as the following:

``` {=python}
print("hello")
```

Previously Kakoune recognised `{=python}` but not `{.python}`.  The latter
is Pandoc's flavour of markdown.  This patch adjusts the regex patterns
to recognise the dot notation as well.
2021-01-08 10:24:04 +00:00
Lennard Hofmann
f65d5210f8 rc markdown: Prevent underscores in URLs cause italic highlighting
Create regions to achieve that. Add support for inline links.
2021-01-05 18:51:37 +01:00
Maxime Coste
183bb660b7 Merge branch 'patch-5' of http://github.com/co-dh/kakoune 2021-01-04 09:44:58 +11:00
Maxime Coste
083fcff9fa Merge remote-tracking branch 'harryoooooooooo/tmux-focus' 2021-01-03 11:35:47 +11:00
Maxime Coste
c8378eb7f2 Merge remote-tracking branch 'Ordoviz/pascal' 2021-01-03 11:28:11 +11:00
Hao Deng
d6c96dc456
Update tmux.kak
When $1 or ${kak_selection} start with dash, like "-1", the command will fail, because tmux think it's an argument flag.
-- prevent this.
Also the doc (append new line) is no longer valid.
2020-12-30 16:11:02 -05:00
Lennard Hofmann
3eabeac3c9 Add Pascal/Delphi language support 2020-12-29 12:20:33 +01:00
harryoooooooooo
96df051ea3 tmux-focus: Add support for focusing a client on another window. 2020-12-28 23:04:00 +08:00
codesoap
c9f07702f9 file.kak: Acknowledge mime type application/x-shellscript 2020-12-23 22:45:07 +01:00
Maxime Coste
74b6c20a0d Merge remote-tracking branch 'pickfire/rust-indent-bracket' 2020-12-21 09:00:35 +11:00
Maxime Coste
a0f575a0f7 Merge remote-tracking branch 'tototest99/ml_v_comments' 2020-12-21 08:59:14 +11:00
Maxime Coste
45d0d0cfdc Merge remote-tracking branch 'lenormf/patch-13' 2020-12-21 08:58:02 +11:00
Maxime Coste
ec41a93c35 Merge remote-tracking branch 'greneholt/ruby-syntax' 2020-12-21 08:55:56 +11:00
Maxime Coste
c99731ebf1 Use stderr/fail to return errors in modeline.kak 2020-12-20 11:30:32 +11:00
antab
6523f57d72 feat(comment.kak): add OCaml and Coq cases 2020-12-18 08:08:56 +01:00
Frank LENORMAND
deff6b2fa9
rc doc: Hide private commands 2020-12-17 16:43:48 +03:00
Ivan Tham
1965b909e1 Rust dedent after .await 2020-12-17 20:07:44 +08:00
Ivan Tham
ffbdcaa95c Rust handle [ indent like { and ( 2020-12-17 11:19:23 +08:00
David Arnold
38efe8b421
Fix protobuf commenter 2020-12-13 20:15:02 -05:00
Maxime Coste
ce97c0dd17 Merge remote-tracking branch 'lenormf/fix-temporary-dir-template' 2020-12-05 10:53:57 +11:00
Maxime Coste
fd95e91770 Merge remote-tracking branch 'lenormf/fix-3681' 2020-12-05 10:53:08 +11:00
Maxime Coste
5849b860bd Merge remote-tracking branch 'ifreund/zig-syntax' 2020-12-05 10:50:05 +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
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
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
Frank LENORMAND
9237fc0388 rc kakrc: Add the rename-buffer keyword 2020-11-17 15:58:58 +03:00
Frank LENORMAND
8a1ac1998d rc kakrc: Add the arrange-buffers keyword 2020-11-17 15:52:18 +03:00