Commit Graph

2420 Commits

Author SHA1 Message Date
Simon Fowler
b875a1802c Implement smarter detection of windowing environments.
This patch centralises the loading of windowing environments, in order
to ensure that by default only a single module is loaded, rather than
the current code which can load multiple potentially incompatible
modules; and in order to provide the user with more control over the
loading of windowing modules.

The patch introduces a new str-list option `windowing_modules` which
defines an ordered list of windowing modules to attempt to load. Modules
are loaded in the order specified in the list until a module loads
without error, at which point the process finishes.

When loaded each windowing module tests the environment to determine
whether it should load (e.g. the tmux module tests to see if it's being
run within a tmux session), and if it determines that it should then it
completes its loading without error. If it doesn't detect an appropriate
environment then it returns an error, and the module loading logic tries
the next module.

The user can override the default `windowing_modules` list to specify
their preferred modules (i.e. they can put kitty ahead of tmux if that's
their preference, or they can leave out the x11 modules alltogether). In
addition, if the `windowing_modules` option is an empty list this
bypasses the environment detection logic completely, and allows the
modules to be loaded manually - this allows a user to replace the
windowing module loading logic with their own manual set up.
2020-07-05 22:48:31 +10:00
Thayne McCombs
881c7b9f15 Add comment highlighting and options for asciidoc.
Fixes #3068.
2020-07-04 00:28:51 -06:00
Maxime Coste
1ca1e8fedc Merge branch 'master' of http://github.com/philgee1981/kakoune 2020-07-03 21:07:04 +10:00
Philman
63c4336a3c
finetuned the :send-text command
See discussions on [github](https://github.com/philgee1981/kakoune/pull/1) and on [the kakoune message board](https://discuss.kakoune.com/t/trying-to-run-kakoune-repl-with-st-and-dwm/1122/3)
2020-07-03 06:46:41 +02:00
Maxime Coste
099b83d922 Merge remote-tracking branch 'alexherbo2/eruby' 2020-06-25 21:05:15 +10:00
Maxime Coste
14ba5e38ce Merge branch 'python_fix_highlight' of https://github.com/m-kru/kakoune 2020-06-25 21:02:52 +10:00
Maxime Coste
f5127f8b22 Merge remote-tracking branch 'lenormf/key-percent' 2020-06-25 20:58:26 +10:00
Maxime Coste
42af5e1f9e Merge remote-tracking branch 'lenormf/fix-3432' 2020-06-25 20:57:35 +10:00
Maxime Coste
edd0d2d0ef Merge remote-tracking branch 'eraserhd/more-r7rs-scheme-fixes' 2020-06-25 20:53:12 +10:00
Maxime Coste
b31f3c266f Merge remote-tracking branch 'ii8/master' 2020-06-25 20:52:52 +10:00
Johannes Altmanninger
7e50bdbf2f fish.kak: do not treat escaped quotes as region start
Just like in sh.kak, for example:

	echo \" \\\" this should not be highlighted
2020-06-25 00:28:07 +02:00
Murray Calavera
22a94b9d35 Add highlighters for Standard ML 2020-06-23 19:22:35 +01:00
Jason Felice
c08e676aaf scheme.kak: fixes for r7rs word characters
Was missing _ and @ in various places.
2020-06-17 15:51:47 -04:00
Maxime Coste
8b3696982f Merge remote-tracking branch 'caksoylar/lint-tools' 2020-06-16 19:10:39 +10:00
Maxime Coste
5c02bb2030 Merge remote-tracking branch 'eraserhd/detect-mime-script-types' 2020-06-16 19:10:01 +10:00
Jason Felice
bdd7ea6a03 Detect text/x-script.* and application/x-* types 2020-06-12 11:29:55 -04:00
Cem Aksoylar
28be53fb39 Make lint.kak utilize toolsclient 2020-06-10 22:39:11 -07:00
Jason Felice
d75792bddd Improve scheme mode
* Add r7rs functions, keywords, etc.
* Add highlighting for decimal, hex, octal, binary constants
* Add missing word characters
* Resolve several issues with word boundaries
2020-06-08 09:17:58 -04:00
Alex Leferry 2
ceb859271f Add support for eRuby
http://www2a.biglobe.ne.jp/~seki/ruby/erb.html
2020-06-03 15:12:51 +02:00
Frank LENORMAND
61366fd1ef rc man: Handle early window resize
If the window gets resized before the `man` command is called, the
hook will error out and display an error.

Fix #3432
2020-06-03 15:47:46 +03:00
Frank LENORMAND
24c5169400 src: Introduce a <percent> named key
Similarly to the <semicolon> key, make it easier to write
`:execute-keys` commands by replacing <percent> with `%`.

Highlighters can keep escaping the sign when regular expressions are
not quoted, but built-in scripts that use `%` as an editing primitive
have been modified to use the named key, for clarity.
2020-06-03 15:42:38 +03:00
Maxime Coste
d32d185d48 Merge remote-tracking branch 'pickfire/rust-doctests' 2020-06-02 18:44:53 +10:00
Maxime Coste
d43b6799cf Merge remote-tracking branch 'pickfire/rust-dedent' 2020-06-02 18:40:09 +10:00
Ivan Tham
12cafe3ed4 Rust dedent { after where clause 2020-06-02 00:26:47 +08:00
Ivan Tham
b1beea8638 Rust indent after standalone where 2020-05-31 18:13:04 +08:00
Ivan Tham
de4b7f3864 Rust indent block comment 2020-05-31 18:07:17 +08:00
Ivan Tham
97c4cb243b Highlight rust default keyword (specialization) 2020-05-31 17:49:43 +08:00
Ivan Tham
4ccb5fd315 Highlight doc tests in rust
Feels a big laggy when system overloaded
2020-05-31 11:47:47 +08:00
Alex Leferry 2
23a428c9af Crystal: Slight style change 2020-05-30 23:10:22 +02:00
Michał Kruszewski
7661e67551 Fix python attributes highlight. 2020-05-30 16:47:32 +02:00
Ivan Tham
479790633b Fix rust reference url 2020-05-30 19:23:55 +08:00
Ivan Tham
dd3257e3f2 Rust take indentation before comment to next line 2020-05-30 10:54:55 +08:00
Ivan Tham
7c791f130c Handle dedent in rust syntax
Naively handle dedent after , and ; which works most of the cases but
does not work with multi level dedent.
2020-05-30 10:54:55 +08:00
Maxime Coste
321facb594 Merge remote-tracking branch 'Anfid/lua-fixes' 2020-05-30 09:29:48 +10:00
Maxime Coste
1a185f5d6f Merge remote-tracking branch 'Phlogistique/eex' 2020-05-30 09:25:19 +10:00
Maxime Coste
3589791670 Merge remote-tracking branch 'Guest0x0/master' 2020-05-30 09:24:25 +10:00
Maxime Coste
d1f4b44655 Merge remote-tracking branch 'lenormf/fix-ini' 2020-05-30 09:22:37 +10:00
Maxime Coste
0b56c777c0 Merge remote-tracking branch 'lenormf/fix-spell-next' 2020-05-30 09:22:06 +10:00
Maxime Coste
f939055e22 Merge remote-tracking branch 'lenormf/remove-bold-italic-faces' 2020-05-30 09:21:08 +10:00
Maxime Coste
65921d0515 Merge branch 'fix-perl-regex' of https://github.com/buffet/kakoune 2020-05-30 09:20:00 +10:00
Maxime Coste
2a28779998 Merge branch 'latex' of http://github.com/mreppen/kakoune 2020-05-30 09:14:39 +10:00
Maxime Coste
3f787acb4f Merge remote-tracking branch 'greenfork/add-underscores-to-zig-integers-highlighting' 2020-05-30 09:13:17 +10:00
Maxime Coste
0315b2e3f5 Merge remote-tracking branch 'greenfork/add-default-comments-for-zig' 2020-05-30 09:12:51 +10:00
Maxime Coste
a28deb0aaf Merge branch 'highlight-markdown' of https://github.com/pickfire/kakoune 2020-05-30 09:11:45 +10:00
Maxime Coste
c716f5d4e4 Merge remote-tracking branch 'krobelus/02-sh-space-before-heredoc-keyword' 2020-05-30 09:07:20 +10:00
Maxime Coste
c8fde1bf33 Merge remote-tracking branch 'krobelus/01-fish-single-quote-highlighting' 2020-05-30 09:07:01 +10:00
Maxime Coste
d90f8d4324 Merge remote-tracking branch 'lenormf/remove-lint-enable' 2020-05-30 09:05:53 +10:00
Max Reppen
6f5bc42b87 LaTeX highlighter improvements
Added \(\) highlighter
2020-05-29 17:46:06 -04:00
Frank LENORMAND
b4f2c3fe91 rc lint: Remove the concept of "enabling" linting
This commit renames `lint-enable` into `lint-show-diagnostics`,
makes it hidden, and calls it automatically after diagnostics have
been recovered by `:lint-cleaned-selections`.

The `lint-disable` command becomes `lint-hide-diagnostics`.

The concept of "enabling" diagnostics was inherited from the Clang
support script, but in that case it's not clear why calling `:lint`
should do the work but not render it (similarly to `:spell`).

The `lint-show` command was also renamed into a more descriptive
`lint-show-current-line`.
2020-05-29 14:39:39 +03:00
Maxime Coste
08e0b663f7 Fix unintended interpretation of ranges length syntax
Ranges specified with a +<length> were inconsistent, with +0 meaning
an empty range, while +1 meant a two character long range (first character
+ the following one). Change that to mean a single character.

Fixes #3479
2020-05-29 12:25:57 +10:00
Johannes Altmanninger
62f61df08f fish.kak: add new fish builtins
eval is a proper builtin as well now
2020-05-28 21:49:47 +02:00
Johannes Altmanninger
bb865a18c1 fish.kak: fix highlighting for single quoted strings
fish allows to escape single quotes within single quoted strings,
just like double quotes in double quoted strings.

https://fishshell.com/docs/current/index.html#quotes
2020-05-28 21:49:47 +02:00
Ivan Tham
752ccc0946 Fix regression on setext-style markdown header
Reproduce:

header1
header2
-------
2020-05-28 14:33:00 +08:00
Ivan Tham
09a45a2e96 Fix setext-style markdown header highlight
Reproduce:

    - item

    header
    ------
2020-05-27 18:23:53 +08:00
Dmitry Matveyev
31d41c526e Add underscore highlighting as visual separator inside Zig integers 2020-05-22 16:47:05 +03:00
Johannes Altmanninger
53309c3534 sh.kak: allow space before heredoc string 2020-05-21 08:34:58 +02:00
Dmitry Matveyev
ccfd5ea5c6 Add default comments for Zig language 2020-05-19 22:05:10 +03:00
Maxime Coste
5933ab1e78 Split python auto-insert hooks from auto-indent 2020-05-19 17:16:05 +10:00
Frank LENORMAND
05db1e8697 rc spell: Make :spell-next wrap around the buffer 2020-05-15 18:37:03 +03:00
Frank LENORMAND
4eac927a01 rc spell: Rewrite :spell-next in Awk 2020-05-15 12:59:30 +03:00
Frank LENORMAND
e9e15e6a44 rc spell: Simplify selection-descriptions parsing
Remove everything after the first pipe sign. Pop the timestamp.
2020-05-15 12:21:02 +03:00
Frank LENORMAND
7db9062122 rc spell: Don't use expr to format-check
The regular pattern based on `printf`/`grep` is cleaner and less
error prone.
2020-05-15 12:19:29 +03:00
Frank LENORMAND
37706d7a95 colors: Retire the bold and italic faces
This commit removes declarations and mentions to the built-in `bold`
and `italic` faces.

While they could be a user-friendly way of customising how tokens
are emphasised in Markdown documents (similarly to the
`$LESS_TERMCAP_*` environment variables for `man` pagers), most other
markup languages do not have the concept of "strong" and "emphasis"
but refer directly to the font style/weight.

The faces were also not even set by default to highlight as their
names implied, so having markup language support scripts directly
use the +b and +i face attributes is more consistent.
2020-05-15 11:56:38 +03:00
Frank LENORMAND
c7043e06ee rc ini: More leniently highlight section names
Highlight every character between brackets, including more
brackets. This allows alternative constructs in INI files such as:

```
[section]
    [[subsection]]
```

This commit also only applies the appropriate face on the section
name itself, not the entire line (including hypothetical surrounding
whitespace characters).
2020-05-14 10:25:38 +03:00
Frank LENORMAND
9bc6bddcac
rc spell: Fix off-by-one highlighting glitch 2020-05-07 10:40:25 +00:00
buffet
7870685248 Fix perl regex for operator // 2020-05-05 16:22:30 +00:00
Noé Rubinstein
c5bd4a37ee Elixir: add support for Eex comments and quotation 2020-05-03 13:54:51 +02:00
Noé Rubinstein
da45172256 Elixir: add support for <% in addition to <%= 2020-05-03 13:54:50 +02:00
Noé Rubinstein
f272768544 Elixir: Fix triple-string, add support for Eex
This adds support for the Eex templating that is used in the Phoenix
web framework. Eex files include HTML and Elixir code, and Elixir files
can include Eex in string literals marked with the `~L` prefix.

Additionally this unbreaks `"""` string literals, which did not work because
`"` was matched before `"""`
2020-05-03 13:54:48 +02:00
Guest0x0
36d4cf4f5b fix indent behavior for lines without indent 2020-05-03 17:48:44 +08:00
Frank LENORMAND
c6906be475 rc man: Make the use of $MANPATH portable 2020-05-02 11:59:06 +10:00
Maxime Coste
83cdaee002 Merge remote-tracking branch 'JJK96/spell' 2020-04-30 19:23:27 +10:00
Maxime Coste
db8f19c51f Merge remote-tracking branch 'eraserhd/fix-kitty' 2020-04-30 19:22:07 +10:00
Jason Felice
d287251326 Split modules and allow kitty-send-text to take a parameter 2020-04-27 11:58:39 -04:00
Jan-Jaap Korpershoek
063a702bf4 Add error handling
Rewrite line by line to make escaping easier
2020-04-27 12:28:29 +02:00
Jan-Jaap Korpershoek
246735520f Add spell-add command 2020-04-27 11:57:14 +02:00
Maxime Coste
e69b369e6f Merge remote-tracking branch 'ifreund/meson-syntax' 2020-04-27 17:40:45 +10:00
Guest0x0
69e45dce38 basic syntax highlighting & indentation for the Coq language 2020-04-23 21:07:37 +08:00
Maxime Coste
f7ad8bd70e Highlight mail References headers 2020-04-21 13:21:35 +10:00
Maxime Coste
6dc17cb3b3 Complete man pages from MANPATH as well 2020-04-21 13:21:35 +10:00
Isaac Freund
b0fb7fce63
Highlight meson_options.txt as well 2020-04-15 02:49:21 +02:00
Isaac Freund
8ad6746cc8
Add basic highlighting for meson 2020-04-15 01:04:44 +02:00
Maxime Coste
fd454f90f9 Merge remote-tracking branch 'ifreund/zig-syntax' 2020-04-13 11:08:32 +10:00
Maxime Coste
52a80defd6 Merge remote-tracking branch 'Laaas/patch-1' 2020-04-13 11:07:09 +10:00
Maxime Coste
54e0396c84 Merge remote-tracking branch 'codesoap/awkcomment' 2020-04-09 07:50:11 +10:00
Maxime Coste
b3983dd523 Merge remote-tracking branch 'eraserhd/diff-objects' 2020-04-09 07:42:01 +10:00
Maxime Coste
63df04b6e0 Merge remote-tracking branch 'lenormf/fix-lint' 2020-04-09 07:41:54 +10:00
Aaron Bull Schaefer
de2b3f9b9a Add filetype support for CUE language
This follows the upstream spec as closely as possible.

See:
- https://cuelang.org
- https://cuelang.org/docs/references/spec/
2020-04-06 12:03:54 -07:00
Jason Felice
7e5936ba23 diff.kak: add diff file and diff hunk text objects 2020-04-03 15:48:54 -04:00
Frank LENORMAND
7d987c013e rc lint: Check the lintcmd option is set in :lint-buffer
Calling `:lint-buffer` when `lintcmd` is empty results in a temporary
directory being created, but never removed when the underlying linting
code errors out.
2020-03-27 10:20:40 +03:00
Las
e142a37f21 rc ruby: Don't recognize "keyword"-like identifiers
In Ruby, identifiers can end with a `!` or `?` too, which means that `class!` or `end?`are not actually keywords, but regular identifiers. This fixes that by not using `\b` but `[^0-9A-Za-z_!?]` instead in some places.
2020-03-25 21:18:21 +09:00
Isaac Freund
9396f508c2
Fix indentation of auto-extended comments 2020-03-22 20:19:43 +01:00
Isaac Freund
6198cc5e47
Encapsulate zig highlighting and commands in a module 2020-03-22 19:24:39 +01:00
Isaac Freund
3098557e25
Add indent rules 2020-03-22 19:18:15 +01:00
Isaac Freund
23b28df1b8
Use attribute face where appropriate 2020-03-22 10:50:29 +01:00
codesoap
94cdd3f9e3 rc spell: Avoid C-style comments in awk 2020-03-22 08:13:30 +01:00
Isaac Freund
6190f8ce70
Add syntax highlighting for zig 2020-03-21 22:46:19 +01:00
Mikhail Pogretskiy
57c62b2a10 rc lua: Improve indent hooks behavior, add '...' highlighting 2020-03-20 23:12:46 +07:00
Maxime Coste
329f291ae0 Merge remote-tracking branch 'Anfid/hunk-seek-wrap' 2020-03-15 12:35:50 +11:00
Mikhail Pogretskiy
8c7bb10e56 rc git: Make git next/prev-hunk behavior consistent with search command 2020-03-11 13:56:28 +07:00
Frank LENORMAND
e83ad2a2a4 rc spell: Re-implement message processing in Awk
Plain shell takes too long on large files.

Fixes #3399
2020-03-09 14:22:34 +03:00
Maxime Coste
f682d8c01f Merge remote-tracking branch 'chambln/git' 2020-03-03 07:55:12 +11:00
Jason Felice
1ed8b84762 Fix unnecessary refreshes
Incrementally setting the lint variables triggers multiple refreshes,
including the text jumping as the guttter column is removed and re-
added.  This causes the info message to disappear when linting is done
on NormalIdle.
2020-02-28 21:44:10 -05:00
Gregory Chamberlain
13d042cf8f rc git: Fix highlighting of ‘:git log --graph’
Looks like hyphens and periods are sometimes printed as part of
git-log(1)’s graphing feature; for example, in this repository:

    git log --graph 55e7f857
2020-02-27 05:11:11 +00:00
Maxime Coste
f6b6b94ba6 Merge branch 'rust-indent' of http://github.com/jneem/kakoune 2020-02-25 20:13:30 +11:00
Maxime Coste
a2506f3b22 Merge remote-tracking branch 'matthias-margush/file-type-detection-fix' 2020-02-25 20:12:22 +11:00
Joe Neeman
5024fe17f6 Make rust auto-indenter ignore most things inside comments.
Fixes #3352.
2020-02-24 12:51:03 -06:00
Matthias Margush
99c09daec3 Fix filetype detection
The -i flag on Mac OS means:
    ჻ man file | grep -i -- -i
    -i      If the file is a regular file, do not classify its contents.

The --mime-type option is (mostly) portable:
- Linux uses --mime-type
- macOS uses --mime-type
- FreeBSD uses --mime-type
- NetBSD uses --mime-type
- OpenBSD uses --mime-type and does not use the same implementation as everybody else
- Solaris does not support MIME types at all
2020-02-21 21:25:57 -08:00
Gregory Chamberlain
7babfe2508 Use filetype ini for XDG desktop entry files
See <https://freedesktop.org/wiki/Specifications/desktop-entry-spec/>
2020-02-20 18:25:01 +00:00
Maxime Coste
ce93a7b032 Fix doc paragraph rewrapping 2020-02-18 19:25:12 +11:00
Maxime Coste
61cae51605 Merge remote-tracking branch 'Guest0x0/master' 2020-02-16 10:48:04 +11:00
Maxime Coste
08d6268ae7 Merge remote-tracking branch 'lenormf/documentation-face' 2020-02-16 10:46:35 +11:00
Tim Allen
9277121695 rc lint: Change flag symbols for lint errors and warnings.
As suggested in code review.
2020-02-14 17:27:36 +11:00
Guest0x0
ab091bcf69 improve syntax highlighting 2020-02-14 07:33:47 +08:00
Tim Allen
59e273c316 rc lint: Teach lint-{next,previous}-message to wrap around the buffer.
This matches the behaviour of make-{next,previous}-error.
2020-02-13 20:27:28 +11:00
Tim Allen
48bd7387bb rc lint: When parsing lint messages, use "remove shortest prefix" pattern.
There might legitimately be "|" characters in the message, so
we want to stop at the first one, the one that delimits the message location
from the message text.
2020-02-13 20:27:24 +11:00
Tim Allen
cad0572ca5 rc lint: Re-add missing kakquote functions. 2020-02-13 20:27:19 +11:00
Tim Allen
c1e9f46301 rc lint: Don't start a comment with "shellcheck".
That confuses shellcheck into expecting a warning pragma.
2020-02-13 20:27:12 +11:00
Tim Allen
09f067d585 rc lint: More code-review comments.
Don't ask Kakoune to quote values we know can never contain shell-sensitive
characters, and flatten the kakquote() function to a single line for ease
of copy/pasting.
2020-02-09 14:01:35 +11:00
Tim Allen
673d081823 rc lint: Address code-review comments. 2020-02-09 13:23:58 +11:00
Tim Allen
51fcea7ce0 rc lint: Add a lint-selections command to lint part of a buffer.
Fixes #2302, #3336.

Addresses parts of #3155.

Changes include:

- New `lint-selections` command that only lints the current selections,
  and allows a custom lint command.
- New `lint-buffer` command that always lints the whole buffer with
  the linter specified in the lintcmd option.
- `lint` alias for `lint-buffer`, for backwards compatibility.
- Errors and warnings are now shown in the Error and Information faces,
  not hard-coded red and yellow.
- Error and warning flags now use "!" and "?" symbols respectively,
  instead of a unicode block, so they can still be distinguished
  in a monochrome colour-scheme or by colour-blind users.
- An error flag on a given line always takes precedence over a warning.
- All messages for the same line are collected into a multi-line message.
- We no longer escape tildes in messages, since that change was added
  in commit ae339dc (2016) when we started using `%~~` to quote messages.
  We stopped using `%~~` in commit 1a2eecd (2018).
- Anything the linter writes to stderr is logged to the *debug* buffer,
  not lost.
- If the linter writes to stderr, an error is shown to the user instead
  of the usual error/warning count.
- The `lint_errors` hidden option is replaced by `lint_messages`,
  because it contains warnings as well as errors.
- `lint-next-error` renamed to `lint-next-message`,
  and `lint-previous-error` renamed to `lint-previous-message`
  for the same reason.
    - New `lint-next-error` and `lint-previous-error` aliases,
      for backwards compatibility.
- `lint-next-message` and `lint-previous-message` show the message
  they jump to.
- Where `lint_errors` was a range-specs option, `lint_messages` is a
  line-specs option to keep things simpler. This means lint-next-message
  and lint-previous-message no longer jump to a specific column.
2020-02-07 19:22:47 +11:00
Maxime Coste
8eb84c6f5d Merge branch 'master' of http://github.com/velrest/kakoune 2020-02-07 07:03:33 +11:00
Dan Rosén
8dd2373db1 Remove duplicated scopes highlight in kakrc.kak 2020-02-06 17:33:16 +01:00
Maxime Coste
bb28477c48 Merge remote-tracking branch 'chambln/master' 2020-02-05 20:54:49 +11:00
Maxime Coste
1a2bf7b105 Merge branch 'patch-2' of http://github.com/Ordoviz/kakoune 2020-02-05 20:47:25 +11:00
Maxime Coste
9cc22f2596 Merge remote-tracking branch 'lenormf/fix-3330' 2020-02-05 20:42:33 +11:00
Maxime Coste
a3749d6c20 Merge remote-tracking branch 'lenormf/patch-3' 2020-02-05 20:41:40 +11:00
Maxime Coste
7d4ae422d2 Merge remote-tracking branch 'lenormf/docstring-pretty' 2020-02-05 20:40:10 +11:00
Lennard Hofmann
8dbc86c54a [sh] Do not highlight keywords if preceded/succeeded by a hyphen 2020-02-03 21:34:36 +01:00
Frank LENORMAND
275abb227e rc: Make docstrings more readable
This cosmetics commit makes use of the auto-deindentation syntax,
available to docstrings.
2020-02-03 20:53:28 +01:00
Lennard Hofmann
75bb796b2b
[sh] Allow more characters in aliases and function names
Which characters are allowed?
- Aliases: https://www.gnu.org/software/bash/manual/html_node/Aliases.html
- Functions: https://unix.stackexchange.com/questions/245331/shell-valid-function-name-characters

For aliases I chose [\w-.] instead of blacklisting many forbidden characters. For functions I chose \S.
2020-02-03 18:59:46 +00:00
Lennard Hofmann
c6eb9bd8f0
Fix #2832 2020-02-03 18:33:27 +00:00
Gregory Chamberlain
548c6b0b7e rc git: Use git-log filetype for ‘:git show’
The git-log filetype is more appropriate for ‘git show’ output
because it highlights both diffs and commit data.
2020-02-02 00:26:46 +00:00
Frank LENORMAND
90ba4d0903 rc spell: Handle errors returned on the first line
The first line returned by `aspell` isn't always an identification
string, it can also be an error.

This commit prevents the first line from being ignored in any case,
and allows errors to be reported consistently.

Related to #3330
2020-02-01 16:04:58 +01:00
Frank LENORMAND
0c4c744362 rc: Highlight embedded documentation
This commit adds a `documentation` face to the builtin themes, used
to highlight common documentation syntaxes:

	/**
	 * JavaDoc
	 */

	/*!
	 * QtDoc
	 */

	/// Inline documentation

	## Inline documentation

The face is only an alias to the `comment` one for now.

Closes #1944
2020-01-29 20:03:21 +01:00
Gregory Chamberlain
f4e8585981 rc git: Expand highlighting of git status
Adds support for highlighting git-status(1) output in short format
(--short) and with branch name (--branch), including file renames and
commits ahead/behind information.
2020-01-29 17:19:23 +00:00
Gregory Chamberlain
eb1b629829 rc git: Improve git-log highlighters
Adds support for highlighting git-log(1) output with the ‘--graph’
and ‘--pretty=oneline’ options.
2020-01-29 12:48:08 +00:00
Frank LENORMAND
5ea2f26efa
rc ctags: Escape backslash in {\} faces
Using `{\}` in an Awk script results in the following error being printed:

```
awk: cmd. line:18: warning: escape sequence `\}' treated as plain `}'
```
2020-01-28 10:05:10 +00:00
Maxime Coste
9842e24fc4 Merge remote-tracking branch 'alexherbo2/crystal' 2020-01-27 16:27:06 +11:00
Alex Leferry 2
2f05aebfff Use POSIX -E of sed for extended regular expressions 2020-01-21 14:45:33 +01:00
Alex Leferry 2
d7e2094f1c Crystal: Slight style change 2020-01-21 11:31:43 +01:00
Maxime Coste
da1320eda2 Merge remote-tracking branch 'alexherbo2/crystal' 2020-01-20 07:09:14 +11:00
Maxime Coste
fcf682e74f Merge branch 'patch-1' of http://github.com/Ordoviz/kakoune 2020-01-20 07:08:29 +11:00
Alex Leferry 2
c13e123096 Give an explicit name to the Crystal highlighter 2020-01-17 23:37:17 +01:00
Jonas Cosandey
b084e66897 Add html module to hbs filetype to correctly highlight hbs files 2020-01-16 10:20:35 +01:00
Maxime Coste
5f126ee267 Merge branch 'master' of https://github.com/aecepoglu/kakoune 2020-01-16 20:01:14 +11:00
Maxime Coste
60f9a474ab Merge remote-tracking branch 'lenormf/jinja-templates' 2020-01-16 19:59:51 +11:00
Maxime Coste
20b0ad8b84 Merge branch 'latex-headings' of http://github.com/Ordoviz/kakoune 2020-01-16 19:57:30 +11:00
Lennard Hofmann
71e4ac4574
[sh] Allow hyphens in variables but not every character
Co-Authored-By: Frank LENORMAND <lenormf@gmail.com>
2020-01-15 13:56:25 +00:00
Lennard Hofmann
1e9353a24b [latex] Highlight section headings 2020-01-14 17:31:35 +01:00
Lennard Hofmann
b84d852723 [sh] Merge two %sh blocks into one
It simply needed a newline
2020-01-13 17:51:18 +01:00
Maxime Coste
dabe4c3d92 Merge branch 'master' of http://github.com/nunzioc/kakoune 2020-01-13 20:33:10 +11:00
Alex Leferry 2
fed8f01e47 x11-terminal: Leverage the shell quoting of lists for perfect forwarding
Fixes x11-terminal forwarding
2020-01-13 05:26:08 +01:00
Lennard
a8bbdc71d9 [sh] Separate keywords and builtins; fix variables
Previously, the keywords were a mess. They contained the shell’s
reserved words and some arbitrarily selected builtins. I generated
the word list using bash because it contains all POSIX builtins and
is common for scripting.

In variable assignments some characters that are allowed to be in
variables used to not be highlighted, e.g. hyphens. With this commit
all characters except whitespace are considered to be part of the
variable.
2020-01-12 11:41:12 +01:00
NunzioCicone
dfbc69abeb Allow empty elements in jsx 2020-01-11 06:40:21 -05:00
aecepoglu
8b00458330
better scheme highlighter for char,string,comment 2020-01-09 17:07:23 +03:00
YohananDiamond
99ea0c2169 julia.kak: added keywords "mutable" and "struct" 2020-01-08 15:21:08 -03:00
Frank LENORMAND
5dc4ce5281 rc jinja: Highlight Jinja statements/expressions
This commit implements a standalone shared highlighter group that
highlights Jinja statements and expressions.

The traditional way of highlighting file contents is to hook on the
file extension, and assign a custom filetype/highlighter group to
the current buffer. However, since Jinja templates can be based on
any text file format in existence, we do not have a specific file
extension to hook, and consequently, no custom "jinja" filetype.

The user is expected to add the `jinja` highlighter whenever required:

```
require-module jinja
add-highlighter window/ ref jinja
```

Alternatively, file extensions that are known to occasionally pair
with Jinja can be hooked from the user configuration:

```
hook global WinCreate .+\.html %[
    try %[
        execute-keys -draft \%s \{%|\{\{ <ret>
        require-module jinja
        add-highlighter window/ ref jinja
    ]
]
```

The above hook auto-detects statements/expressions (respectively
{%…%} and {{…}} expansions), but will cause false positives
(in terms of highlighting), and therefore isn't part of `jinja.kak`
by default.
2020-01-08 12:22:34 +01:00
Jason Felice
0ed3bd662c {clojure,lisp}.kak: handle doubled brackets 2020-01-03 15:14:56 -05:00
Maxime Coste
f2159750d2 Slight code cleanup in grep.kak 2019-12-31 12:50:19 +11:00
Maxime Coste
90ec9434b7 Fix clang completion output parsing 2019-12-15 10:32:14 +11:00
Evan Relf
77ec8b70a8
Fix Haskell multi-line quasiquoter highlighting 2019-12-12 16:00:50 -08:00
Evan Relf
991ed97f4c
Fix incomplete highlighting of Haskell via keyword 2019-12-12 15:45:43 -08:00
Evan Relf
9eb9747396 Improve highlighting of Haskell function names 2019-12-12 15:27:48 -08:00
Evan Relf
024a3afff0 Highlight Haskell type and data family keyword 2019-12-12 15:27:48 -08:00
Evan Relf
63bbfc253b Relocate Haskell quasiquote region highlighter 2019-12-12 15:27:48 -08:00
Frank LENORMAND
7b9ae595c0 rc repl tmux: Do not check for the Tmux version
This commit removes attempts to auto-detect the version of the local
Tmux binary.

The Tmux package that ships with OpenBSD doesn't have a version
number[1], and therefore doesn't provide any way to check if it's
compatible with the REPL module, making the feature disabled by
default in that distribution.

Fixes #3237.

[1] https://github.com/tmux/tmux/issues/1141#issuecomment-340244302
2019-12-10 12:15:08 +01:00
Frank LENORMAND
fde2550478 rc git: Highlight commands differently from pick
The `pick` command in a rebase commit is virtually a no-op, but other
commands actually do things. This commit visually communicates
that fact.

Fixes #3208.
2019-12-08 13:49:53 +01:00
Maxime Coste
ee2985739b Merge remote-tracking branch 'lenormf/window-range' 2019-12-04 21:16:11 +11:00
Las
df9995b216
Recognize .mjs files as javascript files
.mjs is the extension for javascript modules
2019-12-03 15:05:40 +09:00
Maxime Coste
805675b731 Merge remote-tracking branch 'jcpetruzza/syntax-terraform' 2019-11-28 20:35:16 +11:00
Maxime Coste
b19dae13fc Merge remote-tracking branch 'lenormf/fix-clang-autocomplete' 2019-11-28 20:34:17 +11:00
Maxime Coste
2904d13420 Add a {\} marker to disable markup processing 2019-11-28 20:23:52 +11:00
Maxime Coste
8691ee8d4a Modularize r file support 2019-11-26 21:32:52 +11:00
Maxime Coste
2209b5d415 Improve perl regex and qq string highlighting 2019-11-26 21:32:52 +11:00
Frank LENORMAND
657eeb02d2 rc clang: Factorize multiple calls to gsub 2019-11-22 09:43:39 +01:00
Frank LENORMAND
3161a6255c rc clang: Handle nested tags in completion
Some completion candidates have e.g. `{#…#}` tags in their
name/description. They can be nested, which the cleanup regex doesn't
take into account.
2019-11-22 09:30:30 +01:00
Maxime Coste
82e5346904 Add a -atomic switch to write and change clang.kak to take advantage 2019-11-21 23:38:32 +11:00
Daniel Gorin
2666d69e6d Add filetype for terraform files with syntax hl 2019-11-18 20:41:42 +00:00
Maxime Coste
0dd6ea83d8 Merge remote-tracking branch 'evanrelf/haskell' 2019-11-18 20:03:14 +11:00
Maxime Coste
2804479b27 Merge remote-tracking branch 'JJK96/comment' 2019-11-18 20:01:37 +11:00
Evan Relf
199b4e2f66
Highlight Haskell deriving strategies keywords 2019-11-18 00:15:33 -08:00
Evan Relf
237acbcfeb
Improve Haskell quasiquote highlighting
Now only the inside of the quasiquote gets the string coloring applied.
2019-11-18 00:14:41 -08:00
Evan Relf
f40064b8d6
Add forall unicode character as Haskell keyword 2019-11-18 00:14:22 -08:00
Maxime Coste
7368678e26 Merge remote-tracking branch 'lenormf/fix-rust-formatcmd' 2019-11-17 10:41:47 +11:00
Maxime Coste
49f3a72bdc Merge remote-tracking branch 'Anfid/update-lua-highlight' 2019-11-17 10:39:00 +11:00
Maxime Coste
d220ac049e Merge remote-tracking branch 'Anfid/hunk-next-prev' 2019-11-17 10:38:52 +11:00
Maxime Coste
7582c5d5e7 Merge remote-tracking branch 'lenormf/fix-fail-errors' 2019-11-17 09:59:28 +11:00
Maxime Coste
090efcb1b1 Merge remote-tracking branch 'lePerdu/elm-lang-fixes' 2019-11-17 09:50:33 +11:00
Mikhail Pogretskiy
304f10bea2 rc lua: Improve syntax highlighting 2019-11-15 23:05:54 +07:00
Frank LENORMAND
5b1f9255a1 rc: Use the standard fail command to report errors
Merely using `echo` with markup doesn't log errors in the debug
buffers, and is also less readable.
2019-11-14 08:32:55 +01:00
Mikhail Pogretskiy
e159acaa19 Add git next-hunk and prev-hunk commands
Fixes #2423
2019-11-13 22:55:03 +07:00
Jan-Jaap Korpershoek
d655af04cd Change markdown block comment 2019-11-12 13:21:54 +01:00
Frank LENORMAND
fa6396405e rc rust: Don't set an arbitrary formatter
Users who want to use a formatter are free to pick a tool of their
choosing and set `formatcmd` in their user configuration.
2019-11-11 14:20:26 +01:00
lePerdu
c5fad3cab6 Don't set formatcmd in the syntax file 2019-11-11 08:14:18 -05:00
Maxime Coste
b464822f1b Merge branch 'fsharp-filetype-bugfix' of http://github.com/pema99/kakoune 2019-11-11 21:57:01 +11:00
Maxime Coste
d2d0e629fa Merge remote-tracking branch 'lenormf/spell-lang' 2019-11-11 21:51:57 +11:00
pema99
43b8f1338b Fix literal '"' in fsharp highlighting. 2019-11-11 06:25:37 +01:00
lePerdu
a805844e20 Fix type, variable, and function patterns
The old ones are functionally correct (I think), but are un-necessarily
complex and not don't semantically fit what they are trying to match.
2019-11-10 19:35:11 -05:00
lePerdu
a0d6d8a03f Remove where keyword and add port keyword 2019-11-10 19:24:12 -05:00
lePerdu
44bc51a90a Put - first in character class patterns
If `-` is not first or last in a character classes, it matches a range based on
the character code. This applies to special characters as well as to
alphanumeric characters.
2019-11-10 18:29:07 -05:00
lePerdu
7c455db52e Properly highlight Elm operators
- Highlight `=` and `|` as keywords (like `->` and `:`)
- Highlight custom operators (I guess they aren't really custom as of Elm 0.19
  but there are still a bunch "built in").
2019-11-10 18:12:45 -05:00
lePerdu
166049f128 Highlight multiline strings in Elm 2019-11-10 18:12:17 -05:00
lePerdu
3232ba8a4c Use elm-format for formatcmd in Elm 2019-11-10 18:11:36 -05:00
lePerdu
6aab2f54dd Copy doc comment (///) prefix to new lines 2019-11-09 09:41:11 -05:00
lePerdu
2167374496 Add Gluon highlighting/indent 2019-11-09 09:22:19 -05:00
Maxime Coste
11975b7f31 Merge remote-tracking branch 'AJChapman/dhall' 2019-11-09 09:09:14 +11:00
Maxime Coste
88944c7b6a Merge remote-tracking branch 'nhey/fsharp-filetype' 2019-11-09 09:06:44 +11:00
Frank LENORMAND
a7bf625236 rc modeline: Support spelling language options 2019-11-08 17:56:36 +01:00
Nikolaj Hey Hinnerskov
1f19b44b88 Add syntax highlighting for F#
Co-authored-by: pema99 <pemamalling@gmail.com>
2019-11-08 13:01:36 +01:00
Frank LENORMAND
be8d0e6726 rc spell: Allow storing a language in an option
This commit adds a `spell_lang` option that will be used by the
`spell` command when no language is passed to it directly.

Setting a buffer/window local option allows using `:spell` seamlessly
across several buffers, written in different languages.
2019-11-08 12:44:55 +01:00
Maxime Coste
d5f2744e59 Merge remote-tracking branch 'JJK96/xml' 2019-11-07 20:16:58 +11:00
Maxime Coste
f13239764b Merge branch 'patch/fix-python-operator-highlighter' of http://github.com/cipharius/kakoune 2019-11-07 20:08:59 +11:00
Maxime Coste
50a4964910 Merge remote-tracking branch 'Delapouite/patch-3' 2019-11-07 20:06:02 +11:00
Maxime Coste
44047a69c5 Fix c-family include highlighting 2019-11-05 17:35:44 +11:00
Jan-Jaap Korpershoek
fcc8ed5df3 [html] Fix indentation when entering a newline while in the middle of a tag
Example:

```
        <tag>|</tag>
```
Then press enter

Old behaviour:
```
        <tag>
            </tag>
```
New behaviour:
```
        <tag>
        </tag>
```

I also added a test for it
2019-11-03 12:25:02 +01:00
Alex Chapman
6a3421d285 Add support for quoted labels, empty record values and their type 2019-10-30 10:22:31 +11:00
Alex Chapman
9381277274 Add Dhall multi-line string literals 2019-10-30 10:22:23 +11:00
Alex Chapman
80a4e66622 Add syntax support for the Dhall configuration language. 2019-10-30 10:22:12 +11:00
cipharius
988b92d948 Fix python operator highlighter 2019-10-27 15:49:04 +02:00
Bruno Heridet
3726fd000c
filetype: add support for .make extension
While building fish-shell which uses `cmake`, a lot of regular Makefiles are generated with this extension.
2019-10-25 14:14:30 +02:00
Maxime Coste
5b34a6ed81 Merge remote-tracking branch 'eraserhd/tmux-version-check' 2019-10-23 22:36:11 +11:00
Maxime Coste
74275b82e1 Merge remote-tracking branch 'lenormf/python-highlight-module' 2019-10-23 22:32:10 +11:00
Maxime Coste
a49ae162f4 Add a -verbatim switch to evaluate-commands for perfect forwarding
-verbatim will disable argument parsing in evaluate-commands, making
it possible to forward a single command to a different context without
triggering a reparsing of the arguments.

Fixes -try-client support in grep.kak

Closes #3153
2019-10-23 22:30:23 +11:00
Maxime Coste
362021c1d3 Merge remote-tracking branch 'lenormf/key-semicolon' 2019-10-23 22:10:06 +11:00
Jason Felice
6f443537e4 Accept tmux pre-release and rc versions 2019-10-22 10:25:41 -04:00
Frank LENORMAND
e3ba7f7d56 rc swift: Remove highlighting of non-standard comments
Highlighting arbitrary words in Swift comments should be done from the
user configuration, plus hardcoding the `red` color doesn't play well
with all colorschemes.
2019-10-22 11:12:10 +02:00
Frank LENORMAND
21614cb06e src: Create a <semicolon> named key
This commit allows using the <semicolon> expansion in commands, instead
of `\;`.

It makes commands look more elegant, and prevents new-comers from
falling into the trap of using <a-;> without escaping the semicolon.
2019-10-22 11:02:06 +02:00
Frank LENORMAND
2ed70ad5cc rc man: Expose the actual buffer-space's width
Fixes #675
2019-10-20 21:38:58 +02:00
Frank LENORMAND
38746b169e rc python: Highlight modules in import statements 2019-10-20 20:21:08 +02:00
Maxime Coste
a5d662f7fe Fix d.kak invonluntary modification 2019-10-17 22:39:07 +11:00
Maxime Coste
e4fb70ebec Replace ModeChange hooks by ModePush and ModePop
Remove deprecated InsertBegin, InsertEnd, NormalBegin, NormalEnd
hooks.

Closes #2545
2019-10-16 20:45:53 +11:00
Maxime Coste
a1a63901c1 Merge branch 'patch-1' of https://github.com/chaoky/kakoune 2019-10-15 20:46:40 +11:00
Maxime Coste
e4f815e350 Merge remote-tracking branch 'occivink/alt-fail' 2019-10-09 19:18:45 +11:00
Maxime Coste
5430f6ccad Simplify argument pass through in git wrapper script
Fixes #2869
2019-10-09 17:40:57 +11:00
Olivier Perret
fac05f3ea0 [rc] Use 'fail' when the alternative file cannot be found
This makes it possible to implement a fallback strategy using 'try .. catch',
for cases where the alternative file is not stored in a subdirectory
2019-10-08 18:06:54 +02:00
Leonardo Dias ~Lordie
220d5b6e72
fixed regex for matching words
the regex for matching words was matching some characters that elm does not parse
added <_> and <->> as keywords
2019-10-02 03:46:23 -03:00
Leonardo Dias ~Lordie
32648d6cf4
Better elm syntax lighting
this will only highlight elm 0.19 (latest) properly
very close to how https://ellie-app.com/ highlights
- anything that starts with an upper case letter is a type
- anything that starts with a lower case letter is a function
- function declaration is just a function at the start of a line

note: the default color scheme looks too colorful
2019-10-01 23:44:54 -03:00
Maxime Coste
d793ca76b6 Merge branch 'haskell' of http://github.com/evanrelf/kakoune 2019-10-01 20:07:29 +10:00
Maxime Coste
f2e5582f34 Merge remote-tracking branch 'eraserhd/pr/master/extra_word_chars-on-window' 2019-10-01 20:06:03 +10:00
Maxime Coste
9421e28eb5 Merge remote-tracking branch 'occivink/grep-space' 2019-10-01 18:35:26 +10:00
Olivier Perret
b376e3b662 grep: fix for filenames containg spaces 2019-09-30 23:54:31 +02:00
Evan Relf
c544e01b7d
Add additional syntax highlighting for Haskell
- Function names in type signatures are now highlighted
- Quasiquotes are now highlighted
2019-09-28 15:38:43 -07:00
Jason Felice
f88cf7ffb4 rc, doc: set extra_word_chars on buffer, not window
For clojure.kak and haskell.kak, set extra_word_chars on the buffer
and not the window, so that the buffer's word db is updated correctly
for word completion.

Document this.

Also, minor refactor of clojure.kak.

Closes #3108
2019-09-26 09:55:02 -04:00
Maxime Coste
370693afd8 Do not autoscroll on grep results
Closes #3100
2019-09-26 20:30:38 +10:00
Maxime Coste
891a9f5fe6 Merge remote-tracking branch 'lenormf/fix-git-tools' 2019-09-22 09:29:19 +10:00
Maxime Coste
271b1d4f2f Add a clang_directory option to set PWD when completing
This matches the directory entry in compilation databases
format.
2019-09-17 21:50:21 +10:00
Maxime Coste
8cca77c949 Accept docstrings with last line not fully indented
When trimming indent, the last line, if only containing
whitespaces does not need to match the indent, so that
this indentation style works:

    -docstring %{
        indented string
    }
2019-09-17 21:48:00 +10:00
Maxime Coste
6d085f995e Merge remote-tracking branch 'andreyorst/universal-git-path' 2019-09-16 07:06:50 +10:00
Andrey Orst
cab4908f1d cd to file's dir 2019-09-15 22:29:33 +03:00
Maxime Coste
33a00c7031 Fix clang completion support with modern clang 2019-09-15 11:48:25 +10:00
Maxime Coste
90f83780a5 Rename formatter.kak to format.kak and alias format to format-buffer 2019-09-15 10:52:06 +10:00
Maxime Coste
6ee71191af Merge remote-tracking branch 'codesoap/background_blocks' 2019-09-15 09:29:26 +10:00
Maxime Coste
7aec8b2231 Merge remote-tracking branch 'stevenyvr987/add-hyperlink-support-to-man-plugin' 2019-09-15 09:05:12 +10:00
Maxime Coste
54ba6a44c8 Merge remote-tracking branch 'occivink/refactor-format' 2019-09-15 09:01:19 +10:00
Maxime Coste
fb60eea66d Merge remote-tracking branch 'lenormf/fix-latex' 2019-09-15 09:00:25 +10:00
Olivier Perret
82d99aa12b Refactor formatter.kak
The 'format' command is split into two, 'format-selections' and
'format-buffer' which relies on the former.
2019-09-12 18:53:06 +02:00
Maxime Coste
64511baceb Merge remote-tracking branch 'mogenson/editorconfig' 2019-09-08 22:57:14 +10:00
Frank LENORMAND
1aea592b76 rc latex: Highlight DTX and STY files 2019-09-05 10:19:39 +02:00
Frank LENORMAND
b3287a74cb rc latex: Highlight .cls files as LaTeX
When .cls files are opened, the local `filetype` option is automatically
set to `tex`, which isn't supported.
2019-08-24 20:36:34 +02:00
Michael Mogenson
37ded5e400 Check if buffile is path before loading editorconfig settings
Check if buffile is a full path by checking for the beginning
'/' character in editorconfig-load command. This avoids a parsing
error from feeding a *scratch*/*debug*/*grep*/etc. buffer name to the
editorcofig command. Don't clear editorconfig hooks until after checking
for a valid bufffile path. This way, opening the *debug* buffer will
not clear the hooks from a previously parsed .editorconfig file. If
trim_trailing_whitespace is true, print the hook directly from awk. This
removes the need to save a editorcofig_trim_trailing_whitespace option.

Note: Setting the max_line_length requires a window to be created.
Therefore, a global hook to load .editorconfig settings should be:

    hook global WinCreate .* %{editorconfig-load}
2019-08-20 14:55:17 -04:00
Maxime Coste
292efe1b37 Merge remote-tracking branch 'andreyorst/patch-2' 2019-08-19 22:30:16 +10:00
Maxime Coste
7d8fb135a9 Merge remote-tracking branch 'codesoap/makefile' 2019-08-19 22:25:18 +10:00
Maxime Coste
5e2f123baf Merge branch 'master' of https://github.com/aecepoglu/kakoune 2019-08-19 22:24:14 +10:00
Maxime Coste
349586b464 Merge remote-tracking branch 'andreyorst/fix-rust-meta-attributes' 2019-08-19 22:20:13 +10:00
Maxime Coste
0f5389700e Merge remote-tracking branch 'nhey/master' 2019-08-19 22:19:29 +10:00
Andrey Orst
427153b8e9
remove wrong '+' from awk regex 2019-08-12 22:18:26 +03:00
nhey
4722db7103 Highlight parenthesized paths. Also change '()' to '§' for module quoting. 2019-08-12 18:07:32 +02:00
tawsi-melek
3f405b00f1 Revert back to previous char literal highlighter as it's more precise 2019-08-12 17:17:20 +02:00
tawsi-melek
228a8dd9ae Fix some more edge cases
* Adapt the char literal highlighter from c-family.kak
* Fix line comment adjacent to char literal not being highlighted
* Fix single quote terminating a double quote string
2019-08-12 16:40:35 +02:00
tawsi-melek
1c58e5aa90 Improve single line comments
* '#' now gets highlighted as a char literal
* Remove highlighting for comment tags and escape sequences
2019-08-08 22:47:22 +02:00
tawsi-melek
93e64b4541 Some more improvements
* Fix keywords in comments being highlighted
* Highlight Nim's escape sequences for strings
* Highlight common comment tags
* Add on/off to the highlighted boolean values
* Remove redundant regex highlighter for comments
* Fix autoindent indenting lines more than it should
2019-08-08 21:17:55 +02:00
Andrey Orst
396236f728 support raw strings withing the meta attributes 2019-08-07 11:37:02 +03:00
Andrey Orst
3156ecacc3 fix #3043 2019-08-06 17:02:51 +03:00
tawsi-melek
5ca0b9baa3 Enum too 2019-08-06 00:00:38 +02:00
tawsi-melek
ff7397b593 nim.kak: Add auto-indent after tuple and object
Before:
```nim
type
  MyType = tuple
  myint: int     # This line needs to be indented manually
```

After:
```nim
type
  MyType = tuple
    myint: int     # Lines after 'tuple' are now indented automatically
```
2019-08-05 22:02:56 +02:00
Maxime Coste
6eec6e656d Merge remote-tracking branch 'lenormf/fix-python-decorators' 2019-08-04 20:21:20 +10:00
Jason Felice
ba672623bc Insert Clojure ns directive for new files 2019-07-31 09:38:09 -04:00
codesoap
e502097d01 makefile.kak: require whitespace after target 2019-07-30 14:43:11 +02:00
codesoap
6e86766966 makefile.kak: remove reqex mismatch between highlight and indent 2019-07-30 10:00:04 +02:00
codesoap
4c3795faa2 makefile.kak: Refine regex for target
Multiple targets and the target separators ':', '::' and '!' are now
supported.
2019-07-30 09:55:25 +02:00
Frank LENORMAND
ff52bd7027 rc python: Highlight indented decorators with .
Make sure decorators are on their own line, and don't stop highlighting at
the first dot when they are imported, e.g.

```
import enum

@enum.unique
class A(enum.Enum):
    …
```

Ideally highlighting shouldn't stop at the first parenthesis either
(e.g. `@foo(['1'])`), but the current code somewhat highlights the contents
of the parens already, which is good enough in most cases.
2019-07-26 13:01:58 +03:00
Maxime Coste
550feb1706 Merge remote-tracking branch 'andreyorst/rust-highlighting' 2019-07-25 17:48:04 +10:00
Maxime Coste
6e1e79ed19 Merge branch 'master' of http://github.com/cglogic/kakoune 2019-07-25 17:26:41 +10:00
Oleh Hushchenkov
8fc705d4cc Fix c-family indent on opening curly brace after if-else 2019-07-25 09:58:33 +03:00
Maxime Coste
65327da4cf Merge remote-tracking branch 'laelath/markdown-lazy-load' 2019-07-24 17:38:00 +10:00
Justin Frank
a15ff0ffc3 Move module aliases to after main module definition 2019-07-22 23:48:30 -07:00
Justin Frank
8941002ce0 Give hooks a group so they're cleaned up 2019-07-22 19:03:04 -07:00
Justin Frank
89b50daa66 Use module alias pattern for markdown dynamic loading 2019-07-22 19:01:40 -07:00
aecepoglu
8691c1557a
ocaml.kak fix '"' and char literals 2019-07-22 23:49:15 +03:00
Andrey Orst
677d1efb23 move regex highlighters to the top, add method, field and function hl 2019-07-22 22:32:26 +03:00
codesoap
090c0b4db1 Allow / in target when highlighting in makefile.kak 2019-07-22 17:32:25 +02:00
Andrey Orst
3c0a350079 require module the old way 2019-07-22 18:22:44 +03:00
Andrey Orst
a81eb158be extend Rust highlighting 2019-07-22 15:56:29 +03:00
Maxime Coste
837416ea38 Merge remote-tracking branch 'MarSoft/nix-syntax' 2019-07-21 12:36:56 +10:00
Maxime Coste
d05ef24471 Merge remote-tracking branch 'gaeulbyul/css-comment' 2019-07-21 12:34:28 +10:00
Maxime Coste
268af7f61c Merge remote-tracking branch 'lenormf/patch-1' 2019-07-21 12:14:57 +10:00
Maxime Coste
27fce78eac Merge remote-tracking branch 'codesoap/ledger' 2019-07-21 12:08:42 +10:00
Gaeulbyul
bd257ceb7d css.kak: Highlight comment inside declaration 2019-07-18 01:33:57 +09:00
codesoap
0bd57817b3 Configure comment_line for the ledger filetype 2019-07-12 14:02:06 +02:00
David Ross
27ed20582f Add complete extra_word_chars for lisp
See https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node27.html.
2019-07-06 12:25:46 -07:00
David Ross
e65740873d Treat '-' as an word character in lisp
'-' is part of identifiers in most or all lisps.

Strategy for implementing this copied from https://github.com/mawww/kakoune/blob/master/rc/filetype/scss.kak#L20.
2019-07-05 06:44:45 -07:00
codesoap
2d15c13c1e ledger.kak: Automatically indent postings in transactions 2019-07-02 09:49:52 +02:00
codesoap
710ebabcb8 Add ledger filetype 2019-07-01 20:49:55 +02:00
Frank LENORMAND
a735c06714
rc git: Fix the indentation of misaligned commands 2019-07-01 12:56:51 +00:00
Maxime Coste
5c219cc743 Merge remote-tracking branch 'sjjf/sh_indent_v2' 2019-07-01 22:00:31 +10:00
Maxime Coste
2e3e0c47bb Merge remote-tracking branch 'greenfork/fix-ruby-end-autoinsertion' 2019-06-30 10:30:40 +10:00
Simon Fowler
b2459f5ecb Remove the sh_auto_indent option.
We now auto indent by default, with the option to disable it handled by
the `diabled_hooks` mechanism.
2019-06-29 12:34:14 +10:00
codesoap
ca2741fe20 Rename ModuleLoad hook to ModuleLoaded
This clarifies, that the hook is run *after* the module is loaded.
2019-06-25 19:16:47 +02:00
Frank LENORMAND
e5b9761818 rc filetype d: Highlight quoted backticks properly
Fixes #2970
2019-06-24 10:18:43 +03:00
Frank LENORMAND
b5321f3d1b rc filetype d: Highlight line tokens properly 2019-06-24 10:12:29 +03:00
Maxime Coste
2422c2dcd1 Merge branch 'repl' of https://github.com/codesoap/kakoune 2019-06-23 12:05:15 +10:00
Maxime Coste
4b7b5d077c Make quoting opt-in by using $kak_quoted_... 2019-06-23 12:04:21 +10:00
Dmitry Matveyev
68cdfb9b9d Add more ending blocks for ruby "end" keyword autoinsertion 2019-06-21 13:55:14 +03:00
Simon Fowler
04005b06b0 Add support for basic auto-indenting of sh code.
This attempts to support a simple formatting and intentation style for
plain sh syntax (and other sh-compatible code which doesn't stray too
far from portable sh).

The complexity of sh syntax means that we have to be opinionated -
attempting to be more flexible would require extensive context
awareness, and would require something more akin to a proper
autoformatting tool or a language server.

The formatting style used here makes use of vertical whitespace as the
primary delimiter, so that code ends up looking like this:

if [ $foo = "bar" ]; then
        thing1
else
        thing2
fi

for i in foo bar baz; do
        thing1
        thing2
done

case "$foo" in
        bar) thing1;;
        baz)
                thing1
                thing2
                ;;
esac

Since the formatting style used is very opinionated the 'sh_auto_indent'
option can be used to disable auto-indentation, with the default set to
'no'.
2019-06-20 13:19:15 +10:00
Maxime Coste
59e43c8f0c Merge remote-tracking branch 'lePerdu/latex-indent' 2019-06-19 23:03:20 +10:00
Maxime Coste
64b6bfa8ba Merge remote-tracking branch 'dgmulf/awk' 2019-06-19 23:02:21 +10:00
Maxime Coste
27902fa05f Merge remote-tracking branch 'greenfork/add-dart-highlighting-for-private-classes' 2019-06-19 23:01:56 +10:00
Maxime Coste
791dafbc97 Merge branch 'master' of http://github.com/codesoap/kakoune 2019-06-19 23:01:11 +10:00
codesoap
df03a8850c Comment on the escape sequence for setting the terminal's title 2019-06-18 11:52:33 +02:00
codesoap
9d8fb8bc31 Print escape sequence to set the window title
Using xdotool was probably a little less portable, because it relied on
the newly created window to be activated by the window manager.
2019-06-18 11:41:59 +02:00
codesoap
feebad14b0 Set the REPL window title using xdotool
As mentioned in issue #2973, the -t argument for setting the terminal
title was not very portable.
2019-06-18 09:58:32 +02:00
Daniel Mulford
952f919214 Basic language support for Awk 2019-06-17 22:12:15 -07:00
Dmitry Matveyev
aaa078f7c3 Add Dart highliting for private classes 2019-06-17 22:11:19 +03:00
Dmitry Matveyev
bd22b28d39 Fix Dart highlighting of annotations 2019-06-16 11:53:19 +03:00
Maxime Coste
9d52822702 Merge remote-tracking branch 'greenfork/ruby-do-keyword-support' 2019-06-15 10:55:44 +10:00
Maxime Coste
d801c18a54 Merge remote-tracking branch 'alexherbo2/crystal' 2019-06-15 10:52:59 +10:00
Maxime Coste
f4f361e212 Merge remote-tracking branch 'ath3/editorconfig-max_line_length' 2019-06-15 10:51:54 +10:00
codesoap
38d3432d1a Make the readtags command configurable in ctags.kak
On OpenBSD the command that comes with the universal-ctags package is
called 'ureadtags'.
2019-06-14 13:21:33 +02:00
ath3
8c7d447574 max_line_length support for editorconfig 2019-06-13 00:03:45 +02:00
Dmitry Matveyev
01159a9e72 Add support for autoformatting after do keyword in Ruby 2019-06-12 09:03:24 +03:00
Alex Leferry 2
d97688b624 Update Crystal 2019-06-11 18:33:08 +02:00
Maxime Coste
85e2dc6252 Merge branch 'man' of http://github.com/codesoap/kakoune 2019-06-11 23:19:52 +10:00
Maxime Coste
a93f54192e Merge branch 'st' of http://github.com/codesoap/kakoune 2019-06-11 23:19:10 +10:00
Maxime Coste
8023c1d094 Merge branch 'patch-1' of http://github.com/hacktivista/kakoune 2019-06-11 23:08:54 +10:00
Maxime Coste
a16cae2daf Fix ctags-search menu escaping 2019-06-11 20:13:03 +10:00
codesoap
683c7c1fa5 Fix fifos for Linux
Those were accidentaly broken while fixing for OpenBSD.
2019-06-10 18:25:51 +02:00
Felix Freeman
f246313951 Consider */ closing comment on PHP automatic indentation prefix 2019-06-10 12:12:06 -04:00
codesoap
9ca9d40c03 Revert "Don't create subshells when unnecessary"
This reverts commit 6c05e6e0f8.
Apparently the Linux sh needs subshells here.
2019-06-10 18:00:11 +02:00
hacktivista
2bc14edfd2 Fix PHP comments indentation 2019-06-10 10:47:19 -04:00
codesoap
6c05e6e0f8 Don't create subshells when unnecessary 2019-06-09 13:24:30 +02:00
codesoap
009eb80ca0 Fix tools using fifos for OpenBSD
Without these changes, kak would hang on the corresponding commands,
displaying a 'waiting for shell command to finish' message.
2019-06-09 11:50:35 +02:00
codesoap
11dfd4994b Escape '(' in shell parameter expansion in man.kak
Not escaping '(' here led to a 'no closing quote' error on OpenBSD.
2019-06-07 21:48:28 +02:00
codesoap
7ade105319 Add st (simple terminal) to the known terminals 2019-06-07 21:46:20 +02:00
Maxime Coste
09e1ec97a9 Merge remote-tracking branch 'alexherbo2/crystal' 2019-06-06 23:14:51 +10:00
Maxime Coste
ecf3853bde Merge remote-tracking branch 'alexherbo2/r-rename' 2019-06-06 23:14:44 +10:00
codesoap
10ad877a4d Remove extraneous '\' from git.kak 2019-06-06 13:17:21 +02:00
Maxime Coste
733cf564df Merge remote-tracking branch 'elasticdog/spell-len-whitespace' 2019-06-06 20:17:08 +10:00
Alex Leferry 2
cd0665d61b Update Crystal 2019-06-05 17:34:18 +02:00
codesoap
7c8c5ad506 Remove ' from comment in subshell
On OpenBSD's sh this causes a "no closing quote" error.
2019-06-05 15:16:07 +02:00
Alex Leferry 2
39e2604420 Rename R.kak → r.kak 2019-06-04 13:56:08 +02:00
Aaron Bull Schaefer
3a401f0771 Trim whitespace from spell check word length variable
Due to ambiguity in the POSIX standard, GNU and BSD versions of the `wc`
utility use slightly different whitespace conventions when formatting
their output [1]. When limiting the output to just counting the number
of bytes (as is done by Kakoune when calculating the length of words
for spell check highlighting), the BSD version of `wc -c` has some
additional leading whitespace:

    gnu$ printf %s "test" | wc -c
    4
    bsd$ printf %s "test" | wc -c
           4

This leading whitespace needs to be removed before defining the "region"
to highlight, or `set-option` will not be able to parse the given
`spell_regions` and will complain that there are "not enough elements
in tuple." In other words, the region `1.21+8|Error` on Linux ends up
looking like `1.21+       8|Error` on macOS, which is invalid.

Removing the whitespace could be accomplished in a number of ways, but
using arithmetic expansion [2] is POSIX compliant and does not require
shelling out to another process.

[1]: https://unix.stackexchange.com/questions/205906/extra-space-with-counted-line-number
[2]: https://mywiki.wooledge.org/ArithmeticExpression
2019-06-02 20:23:42 -07:00
lePerdu
dbe32d314f Add auto-indent scripts for LaTeX 2019-05-31 11:44:15 -04:00
Semyon Maryasin
accc203718
Add syntax highlighting for Nix package manager
Based on PHP. It is not ideal yet but much better than nothing.
2019-05-29 21:13:33 +03:00
Maxime Coste
14f45c0020 Merge remote-tracking branch 'alexherbo2/crystal' 2019-05-29 20:46:59 +10:00
Maxime Coste
cbcc9d09ca Merge branch 'master' of https://github.com/musclewizard/kakoune 2019-05-29 20:31:22 +10:00
Maxime Coste
8ae490752f Merge remote-tracking branch 'greenfork/add-test-ruby-alternative-file' 2019-05-29 20:09:38 +10:00
Michael Mogenson
6905b6e34a Automatic insert completion using ctags
Fixup ctags-complete command to search for partial matches for the
current selection in all tags files listed in ctagsfiles option. Format
the results to fit the Kakoune completions type.

Add ctags-enable-autocomplete and ctags-disable-autocomplete commands to
add and remove an InsertIdle hook to select the previous word and call
ctags-complete.

Use the ctags_min_chars option to limit the noise of returning many
completions for very short selections.
2019-05-28 10:00:39 -04:00
Dmitry Matveyev
329ede9094 Add test/ ruby-alternative-file implementation 2019-05-25 12:39:52 +03:00
Justin Frank
1adc5f080b Added wip markdown code lazy-loading hook 2019-05-24 09:41:05 -07:00
James Thomas
5537645ea5 changes the name of a buffer being linted from /tmp/kak-lint.XXXXXX/buf.$extension to /tmp/kak-lint.XXXXXX/$filename. This allows the linter to compile Java files, which fail to compile if the Class name does not match the File name being linted. 2019-05-23 15:52:57 -04:00
Maxime Coste
9ffde03ca7 git.kak: support highlighting git log decorations 2019-05-23 12:42:38 +10:00
Alex Leferry 2
fff7e9b064 Add support for Crystal
https://crystal-lang.org
2019-05-21 18:25:29 +02:00
Maxime Coste
6b7f445936 Merge remote-tracking branch 'eraserhd/clojure-fix-for-1-char-symbols' 2019-05-21 21:36:30 +10:00
Maxime Coste
ef1523fbb0 Merge remote-tracking branch 'andreyorst/fix-racer' 2019-05-21 21:34:08 +10:00
Dawid Ciężarkiewicz
d4b57b5b00
rust: Highlight async/await keywords 2019-05-17 20:26:30 -07:00
Andrey Orst
ea960dcdfd simplify rust completion to match generic Kakoune completions 2019-05-17 20:00:40 +03:00
Maxime Coste
6a65415a19 Merge remote-tracking branch 'andreyorst/ctags' 2019-05-17 19:54:38 +10:00
Maxime Coste
33f9e28610 Merge remote-tracking branch 'ericricky/master' 2019-05-17 19:52:46 +10:00
Andrey Orst
27b6889daf fix #2909 broken rust autocomplete 2019-05-16 08:39:58 +03:00
Jason Felice
ee9c9a777c clojure: Fix indentation for lists with 1-character heads
Indentation can be different depending on the first word of list forms.  The
indent hook uses `e` from inside the parent to select the first word for
testing whether it is a special word; however, in the case of a one-character
symbol, this selects to the end of the *next* word.

This rejects such selections.
2019-05-15 11:20:10 -04:00
Ramiro Romero Arjona
f60a403c1b
Change regular expression for git blame to one more supported
Change regular expression in git blame, removing braces. New expression is supported on various awk engines used in some distributions as default ones. As trade-off, the new expression accepts more input character sequences.
2019-05-02 21:27:25 +02:00
Andrey Orst
3e85406ec1 reimplemented ctags-search command 2019-04-29 17:21:02 +03:00
nonumeros
84ee2b382f adding init to git.kak, removed candidates
adding init to git.kak

removing git init EOF line

git ls-files on on git.kak

no candidates for git-init, removed function

removed candidates for git-init
2019-04-27 01:23:21 -04:00
Steven Chan
b1602d4490 Fix #2495 - Add hyperlink support to :man
1. Add commands to navigate between man page links.
2. Add command to jump to a man page by following a man page link.
3. Add key map for <ret> to jump command.
4. Add key maps for a suggested user mode.
2019-04-26 12:35:54 -07:00
rs
bd3ec61784 Add support for R 2019-04-25 10:44:43 -05:00
Maxime Coste
0cc89b2b9f Merge remote-tracking branch 'laelath/provides-requires' 2019-04-25 11:59:42 +01:00
Steven Chan
64fd0c72ce Enable man command to show stderr message to the user
1. If there is no man page found (error 16), then echo stderr text.
2. For other kinds of errors, fail with stderr text so that command can propagate through a try/catch.
2019-04-24 14:49:56 -07:00
Steven Chan
734a7d0707 Re-implement PR #1927 - man bufname should indicate man page. 2019-04-24 14:49:47 -07:00
rs
429eeb252c Fix kak file recognition 2019-04-24 16:06:46 -05:00
Alex Leferry 2
02ce53d20e Use complete URL 2019-04-24 03:33:54 +02:00
Maxime Coste
17c5e7aa5f Merge remote-tracking branch 'alexherbo2/rc-javascript-accessors' 2019-04-20 10:33:38 +02:00
Maxime Coste
b65fcb5d1a Merge remote-tracking branch 'alexherbo2/rc-mime-detection' 2019-04-20 10:30:05 +02:00
Alex Leferry 2
4d12e750ae Highlight JavaScript accessors 2019-04-19 12:31:39 +02:00
Alex Leferry 2
ba1274f73c file.kak: Dereference symlinks 2019-04-17 12:37:54 +02:00
Alex Leferry 2
313c6eadc7 file.kak: Use -i POSIX option name
https://ss64.com/osx/file.html
https://freebsd.org/cgi/man.cgi?query=file
2019-04-17 12:37:17 +02:00
Maxime Coste
9118a18d5d Change completions option docstring element to be an arbitrary command
We can have the previous behaviour by just passing the docstring to
`info -placement menu`.
2019-04-17 08:38:52 +02:00
Maxime Coste
02fc42a12a Rename info -placement to info -style and support modal style
Fixes #1375
Closes #1380
2019-04-17 08:38:52 +02:00
Justin Frank
48abc3cbf3 Changed '🦀' to '§' for complex module quoting 2019-04-13 12:57:57 -07:00
Justin Frank
6512eafa60 Update remaining files to new provide/require format 2019-04-11 15:54:58 -07:00
Justin Frank
c2b32ebaa7 Clean up javascript file a bit 2019-04-10 17:08:05 -07:00
Justin Frank
e959b99050 Fixed several more support files. 2019-04-10 16:48:46 -07:00
Justin Frank
80ac46e09d Fixed many of the filetype support modules to not use BufSetOption to load 2019-04-09 20:54:19 -07:00
Justin Frank
887a5223ac Fixed if statement in x11 detection 2019-04-08 17:08:35 -07:00
Justin Frank
49b00992ca Fix x11 overriding tmux 2019-04-08 17:05:55 -07:00
Justin Frank
aa6d19bee6 Added modules to extra files 2019-04-08 17:05:55 -07:00
Justin Frank
c3f694a28f Modified base files to use modules 2019-04-08 17:02:44 -07:00
Justin Frank
1fab727f2b Modified a bunch of language support files to use modules 2019-04-08 17:02:44 -07:00
Hampus Fröjdholm
ec68b6a712 Add Python 3.7 breakpoint to list of built-in functions. 2019-04-04 04:46:20 +02:00
Maxime Coste
a32da9d3ee Fix spurious error from c-family-indent-on-closing-curly-brace 2019-04-01 22:20:43 +11:00
Grant Moyer
d8e4c6801f Fix autoindent issues with paren in literal 2019-03-31 00:07:12 -04:00
Maxime Coste
2c283d46a5 Merge remote-tracking branch 'GrantMoyer/rust-block-indent' 2019-03-29 20:12:34 +11:00
Maxime Coste
bcc8b88710 Merge remote-tracking branch 'GrantMoyer/preserve-tabs-for-autoindent' 2019-03-29 20:08:59 +11:00
Grant Moyer
71c5077bec Block indent on newline when previous line is '(stuff' and move 'stuff' to own line
Also, align closing paren on own line with opening paren
2019-03-28 13:17:57 -04:00
Grant Moyer
61840c8b11 Preserve tabs during autoindent and alignment with '(' for c-family languages
Also add test for tab preservation during c-family autoindentation, and correct alignment of '}' with opening of block in cases of wrap between '(' and ')' in c-family languages
2019-03-28 13:08:02 -04:00
Alex Leferry 2
c7218940cb Make kitty honoring the current working directory
Fixes #2819
2019-03-28 14:29:54 +01:00
Maxime Coste
4b98b89437 sh.kak: Use a region for shell expansions
Fixes #2763
2019-03-26 13:04:31 +11:00
Maxime Coste
615c92f6e2 Merge branch 'patch-1' of https://github.com/pickfire/kakoune 2019-03-24 12:32:28 +11:00
Ivan Tham
ac4ad861ab
Fix hook 2019-03-23 15:48:12 +00:00
Ivan Tham
ae7f65acd8
Default to rustfmt for formatcmd in rust
`rustfmt` is the de facto standard for formatting in rust so setting it by default would be nice.

https://github.com/mawww/kakoune/issues/2801
2019-03-22 16:59:24 +00:00
Alex Leferry 2
9ef37666ea Remove ranger.kak 2019-03-22 13:29:22 +01:00
Alex Leferry 2
7d400dce7f Add windowing/repl category 2019-03-21 12:09:39 +01:00
Maxime Coste
00185995e4 Merge remote-tracking branch 'alexherbo2/rc-categories' 2019-03-21 21:10:36 +11:00
Alex Leferry 2
c0dccdd90d Add categories in rc/
Closes #2783
2019-03-21 01:06:16 +01:00
Justin Frank
767b7e48dd Cleanup of fish.kak. Fixes #2775 2019-03-19 09:51:42 -07:00
Maxime Coste
da687f8b7d Merge branch 'patch-1' of http://github.com/andreyorst/kakoune 2019-03-16 12:40:40 +11:00
Maxime Coste
77d75437b8 Merge remote-tracking branch 'eraserhd/use-semantic-face-names' 2019-03-16 12:02:21 +11:00
Alyssa Ross
60dd81d7d8
Highlight all default Ruby symbols correctly 2019-03-15 17:32:49 +00:00
Alyssa Ross
c409bce579
Recognize Ruby identifiers beginning with _
:_foo, @_foo, $_foo, and { _foo: 1 } are all valid Ruby syntax, but were
not recognized by the highlighter.
2019-03-15 16:24:44 +00:00
Frank LENORMAND
2c19c2d84c rc: Use builtin faces 2019-03-14 10:53:13 -04:00
Andrey Orst
e5558aee63
highlight floating point numbers with exponent
Correct highlihgting for `0.38e-18` like numbers
2019-03-13 17:01:17 +03:00
Maxime Coste
bfc2a178f2 Merge remote-tracking branch 'alexherbo2/kakrc-add-force-commands' 2019-03-13 06:51:16 +11:00
Maxime Coste
017b7c970e Merge branch 'patch-1' of https://github.com/andreyorst/kakoune 2019-03-06 22:51:40 +11:00
Maxime Coste
55c60153df Merge remote-tracking branch 'alexherbo2/rc-markdown' 2019-03-06 22:49:46 +11:00
Andrey Orst
81fc15057c
Add KDE Konsole terminal to termcmd
Konsole doesn't work well with non-default Kakoune themes, so I've put it last in the list, but in case when no other terminal is available it's good to have it in the list for launching non-kakoune things, like tig
2019-03-06 12:58:57 +03:00
Olivier Perret
dc8481776c Various fixes to iterm.kak
The 'terminal' alias wasn't automatically setup
Missing '\' in sed calls
Descriptions of vertical and horizontal split was swapped around
2019-03-05 21:00:01 +01:00
Alex Leferry 2
7c9053cdec Remove invalid Markdown syntax 2019-03-05 15:07:17 +01:00
Alex Leferry 2
35ace812df Markdown: Highlight TOML code blocks 2019-02-18 07:42:49 +01:00
Maxime Coste
6da4761065 Merge remote-tracking branch 'eraserhd/lisp-indentwidth' 2019-02-11 21:58:06 +11:00
Maxime Coste
4636440622 Merge remote-tracking branch 'laelath/c-family-else-indent' 2019-02-11 21:53:05 +11:00
Justin Frank
58c15b0240 Indent and deindent c-family single line else properly 2019-02-08 15:16:29 -08:00
Alex Leferry 2
8aba642535 kakrc: Add force commands 2019-02-06 20:26:32 +01:00
fsub
3f29d5ebbf ctags: eliminate redundant variable 2019-02-04 20:14:19 +01:00
Jason Felice
58ab144865 Use indentwidth for lisp, scheme, and Clojure 2019-02-04 12:23:57 -05:00
Maxime Coste
4a2cd39eac Merge remote-tracking branch 'stevenyvr987/fix-ctags-funcinfo-command' 2019-02-03 09:56:18 +11:00
lePerdu
eaa5c0d297 Remove +F from tag attribute highlighting 2019-01-31 09:22:08 -05:00
Steven Chan
568d46bf72 Fix and simplify ctags-funcinfo command
1. Enable the command to correctly show the prefix of a function name [prefix::basename],
   where prefix is the value gotten from a class, struct, or namespace field of the tag line.

2. Use a readtag filter expression to replace a use of grep.
2019-01-29 11:17:23 -08:00
Maxime Coste
1b469f4c00 Merge http://github.com/ckafi/kakoune 2019-01-23 20:24:24 +11:00
Steven Chan
ae86ffcbf9 Fixes for ctags.kak
1. Fix #2250. Enable ctags to handle absolute file paths.
   Only prepend tagroot to tag location if it is a relative file path.

2. Include signature field in the default ctags command.
   The regex for displaying signature info includes a mandatory pattern
   for 'signature' field, but the field is not a default option for the ctags command.
   If the tags file is generated by the as-is ctags command, pattern matching will fail,
   and the whole ctags line for the selected function will be displayed instead.
2019-01-21 15:09:33 -08:00
Maxime Coste
ca105f8cc6 Rework c-family shell expansions to speed them up slightly 2019-01-20 12:33:46 +11:00
Maxime Coste
a9ee4e8af4 Small optimization in clojure.kak awk script 2019-01-20 12:32:31 +11:00
Maxime Coste
a35a1591d0 Convert scheme.kak expensive shell scope to awk 2019-01-20 12:31:57 +11:00
Maxime Coste
8587ecaeb4 Slight simplification in c-family.kak
There is no need to have split types/macros into many different
variables.
2019-01-19 11:33:53 +11:00
Maxime Coste
2f7ec014b7 Use a here-document for clojure.kak awk script 2019-01-19 10:42:46 +11:00
Maxime Coste
41ce602574 Fix some escaping issues in clojure.kak 2019-01-19 10:29:23 +11:00
Maxime Coste
4a358e0707 Merge remote-tracking branch 'eraserhd/clojure-highlighting-with-awk' 2019-01-19 10:14:05 +11:00
Jason Felice
52c0b7d6b4 Rewrite clojure highlighting to use awk
First, avoids the shell escaping issue mentioned in #2604.  Second,
speeds up Kakoune boot time.
2019-01-18 11:20:15 -05:00
Tobias Frilling
ef19d318c4 Better tmux REPL support
This allows one REPL per kakoune session and allows the REPL to run in a
different tmux session than the kakoune client.
2019-01-18 14:42:04 +01:00
Maxime Coste
0f9e6680e2 Support quoted here-documents in sh highlighting 2019-01-17 19:58:53 +11:00
Maxime Coste
da8058487b Fix C++ raw strings not being checked for matching captures 2019-01-17 19:50:43 +11:00
Maxime Coste
0600724a8b Improve some corner cases in c-family auto-indenting 2019-01-14 23:42:57 +11:00
Maxime Coste
30919b749c Merge remote-tracking branch 'JJK96/bash' 2019-01-13 23:41:24 +11:00
Jan-Jaap Korpershoek
b306f6aa37 [Bash] Handle hashtag inside expansion (Fix #2684) 2019-01-11 00:02:36 +01:00
Maxime Coste
7dbd9bc1e2 Merge remote-tracking branch 'SolitudeSF/nimfix' 2019-01-10 20:28:07 +11:00
Jan-Jaap Korpershoek
c0588529c2 Merge branch 'master' into i3 2019-01-09 16:09:11 +01:00
Jan-Jaap Korpershoek
cb13fb63d3 Add new keywords 2019-01-09 16:08:14 +01:00
SolitudeSF
289b57bb67
rc: nim - properly highlight hex/oct/bin literals, refactor, fix more edgecases 2019-01-08 21:08:46 +02:00
fsub
059b086e62 c-family: Regroup C++ keywords and consider C++20 2019-01-06 19:22:48 +01:00
Justin Frank
8a6a76fcd3 Added 'catch' to kakrc keywords 2019-01-02 13:30:34 -08:00
Maxime Coste
090ccafa8d Merge remote-tracking branch 'Muffindrake/uch_stdlib' 2018-12-30 10:55:26 +11:00
SolitudeSF
d010b163fa
rc: nim - fix prefixed triplestring edgecase 2018-12-29 19:31:49 +02:00
Maxime Coste
81cef40171 Merge remote-tracking branch 'SolitudeSF/nimfix' 2018-12-29 10:34:45 +11:00
SolitudeSF
a9ef25f172
rc: add missing builtin types, fix displaying of triple string literals, float literals, character literals, type suffixes, enable raw string literals, operators highlighting in nim 2018-12-27 21:49:00 +02:00
Maxime Coste
e2f2503da4 Merge remote-tracking branch 'SolitudeSF/nimfix' 2018-12-28 06:43:24 +11:00
Maxime Coste
f54ba6d4b2 Merge remote-tracking branch 'lenormf/fix-git-notes' 2018-12-28 06:40:13 +11:00
SolitudeSF
a4e65d4706
rc: add missing builtin types, fix displaying of triple string literals, float literals, character literals, type suffixes, enable raw string literals in nim 2018-12-27 21:34:33 +02:00
Maxime Coste
1c7b63709f Merge remote-tracking branch 'occivink/generic-term-command' 2018-12-28 06:27:51 +11:00
Jason Felice
1631327c33 Some collected fixes for Clojure highlighting
- condp is a keyword
- Highlight '10' correctly
- Highlight shebang line as a comment
2018-12-27 11:46:54 -05:00
Olivier Perret
eebc8c2f7d Fix a couple of mistakes in iterm.kak 2018-12-22 10:32:25 +01:00
Olivier Perret
5146f7ba33 Rework 'terminal' commands
* Arguments of the kakoune command are now preserved in the shell call
* Escaping logic is moved from 'new' to 'terminal'
2018-12-22 09:37:17 +01:00
Olivier Perret
02fa967476 Factor the 'new' commands out of their respective windowing systems 2018-12-22 09:37:03 +01:00
Olivier Perret
3e4f3ed9d2 Better handling of escaping in iterm.kak
Thanks eraserhd
2018-12-22 09:37:03 +01:00
Olivier Perret
84da1911be Attempt to create iterm-terminal commands 2018-12-22 09:37:03 +01:00
Olivier Perret
74d1dc756a Only accept one parameter to 'terminal' commands
Also explicitly state that they're executed in a shell scope
2018-12-22 09:37:01 +01:00
Olivier Perret
c8403624a7 Expose a 'terminal' command for the various windowing systems
It allows plugins to create generic terminal using the user's preferred windowing system
For example, it can be used to run fzf, gdb or simply a shell.

* 'new' commands are refactored to simply use the 'terminal' one
* style and docstrings has been unified
* all windowing systems go through "sh -c" for consistency purposes, even if unnecessary
2018-12-22 09:36:34 +01:00
Olivier Perret
6f9e297def Revert cosmetic hook order change
The order in which they're run actually matters
2018-12-20 19:15:40 +11:00
Olivier Perret
f085e43bf9 Unify auto-indent trimming hooks
* ModeChange hooks that remove indent now belong to *-trim-indent groups, instead of just -indent
* *-filter-around-selections hooks and commands have been renamed to trim-indent for clarity
2018-12-19 10:20:11 +01:00
Olivier Perret
d8466f0f39 c-family.kak: remove redundant -family in hook groups 2018-12-19 10:03:37 +01:00
Muffindrake
bcb87279e5 Remove accidental line paste 2018-12-15 10:30:53 +01:00
Muffindrake
2e141d2c2c Add atomic type qualifier and atomic_flag type 2018-12-15 09:54:22 +01:00
Muffindrake
bbd34de26c Add missing stdlib macro highlighting and uchar types 2018-12-15 09:33:46 +01:00
Maxime Coste
e49a0d2581 doc.kak: Do not join together bullet lists
Fixes #2610
2018-12-13 19:36:23 +11:00
Frank LENORMAND
9b9aedd175 rc lint: Prevent diagnostics from being expanded
Fixes #2629
2018-12-13 10:42:52 +03:00
Maxime Coste
527e28539e Merge remote-tracking branch 'occivink/cleanup-hook-once' 2018-12-11 10:39:24 +11:00
Olivier Perret
27f951638c Execute cleanup hooks on any filetype change 2018-12-11 00:35:57 +01:00
Olivier Perret
93c308ca53 Fixes to d.kak and moon.kak 2018-12-11 00:13:30 +01:00
Olivier Perret
f5a2ded44b Change cleanup of extra/ languages to use a simpler hook -once 2018-12-11 00:13:30 +01:00
Olivier Perret
898d45f5d5 Change cleanup of base/ languages to use a simpler hook -once 2018-12-11 00:13:30 +01:00
Olivier Perret
6765723c68 Change cleanup of core/ languages to use a simpler hook -once 2018-12-11 00:13:30 +01:00
Frank LENORMAND
f8d660027b rc git: Support the break instruction 2018-12-10 20:10:05 +03:00
Frank LENORMAND
17ebc582b6 rc scheme: Fix the initialization of the static words
Fixes #2607
2018-12-01 07:40:55 +03:00
Maxime Coste
a7336f8663 Merge remote-tracking branch 'sbwhitecap/pr/treat_t_files_as_perl' 2018-11-28 21:28:07 +11:00
Maxime Coste
086db6a9d3 Fix extra_word_chars in various scripts
Add '_' to the list now that it is not built-in anymore
2018-11-28 18:13:55 +11:00
Kazuki Shigemichi
5221254363 Treat .t files as perl 2018-11-27 22:43:50 +09:00
Maxime Coste
4610166263 Merge remote-tracking branch 'lePerdu/markdown_highlighter' 2018-11-27 18:22:21 +11:00
Alyssa Ross
9e99415c46
makefile.kak: highlight .mk files
This extension is commonly used for helper files, etc.
2018-11-26 02:20:31 +00:00
Maxime Coste
bef7683e1b Merge remote-tracking branch 'Muffindrake/c_stdint' 2018-11-25 22:59:22 +11:00
Maxime Coste
2598fc1534 Merge remote-tracking branch 'lePerdu/fix-lua-comments' 2018-11-25 22:58:55 +11:00
Maxime Coste
ec6b88be96 Merge remote-tracking branch 'jjthrash/master' 2018-11-23 22:32:35 +11:00
Muffindrake
d40a6bc44a Highlight bool type 2018-11-23 00:12:01 +01:00
Jimmy Thrasher
576f7b13b9 Don't highlight Ruby eigenclass definitions as here docs
E.g. for the following code snippet, the code was highlighted as a string
```ruby
class Bob
	class <<self
		def hello
		end
	end
end
```
2018-11-21 16:45:07 -05:00
Olivier Perret
808580056f doc: don't pollute command history with mapping 2018-11-21 17:30:58 +01:00
Maxime Coste
3ed7ec21bd Merge branch 'python_add_async_await_keywords' of http://github.com/Roger/kakoune 2018-11-19 21:07:53 +11:00
Maxime Coste
c4ffd95570 Merge remote-tracking branch 'JJK96/master' 2018-11-19 20:50:11 +11:00
Maxime Coste
f46b53a441 Merge branch 'gas-hex-fix' of http://github.com/andreyorst/kakoune 2018-11-19 20:49:40 +11:00
lePerdu
41d2176179 Add back list marker highlighting 2018-11-18 10:34:11 -05:00
lePerdu
9053a1cdc1 Make list items match as regions 2018-11-18 10:34:06 -05:00
Frank LENORMAND
70097a98b3
Sinplify regex
Co-Authored-By: JJK96 <jjkorpershoek96@gmail.com>
2018-11-18 08:28:50 +01:00
Frank LENORMAND
7dd81ec516 rc git: Support notes 2018-11-17 16:47:29 +03:00
Jan-Jaap Korpershoek
7fc43252f1 Make header clearer 2018-11-16 13:56:48 +01:00
Jan-Jaap Korpershoek
1228eddc00 Add markdown sql language support 2018-11-16 13:54:43 +01:00
Andrey Orst
3e194fbb2e fix hex numbers for gas filetype - add missing a-f letters 2018-11-13 13:02:04 +03:00
lePerdu
e539347f2a Give lua block comments higher match precedence 2018-11-12 15:39:34 -05:00
roger
b672e7c100 python: add async/await keywords highlighting 2018-11-12 15:03:32 +01:00
Muffindrake
a807dbf1e0 Add missing highlighting for time/wctype 2018-11-11 15:33:55 +01:00
Muffindrake
3012bf48e5 Convert subshells to strings 2018-11-08 18:26:16 +01:00
Muffindrake
3c9f9255d7 Add macros for float.h 2018-11-08 18:03:31 +01:00
Muffindrake
f088dd957a Update C grammar
This highlighting and static completion for types and macros that were
previously missing. No functions are included, but some macros are
highlighted as such, even if they're function-like macros.
2018-11-08 10:30:27 +01:00
Maxime Coste
9bc893e70b Merge remote-tracking branch 'laelath/c-indent-fixes' 2018-11-06 20:22:50 +11:00
Maxime Coste
bcd50d7dd8 Merge remote-tracking branch 'eraserhd/clojure-indent-fix' 2018-11-06 20:16:57 +11:00
Justin Frank
521e5032c9 Don't require content in parens for single statment indent 2018-11-01 00:21:48 -07:00
Justin Frank
ee65954ed4 Make statement after if/else/while/for optional for indenting c-family 2018-10-31 16:09:13 -07:00
Jason Felice
db937beff0 Make lisp/clojure indent work for append 2018-10-29 12:16:13 -04:00
Ruslan Prokopchuk
b65a6493aa replace usage of the deprecated 'e' face attribute with the new 'F' one
and update set-face docstring
2018-10-28 08:52:14 +11:00
Maxime Coste
433e39566d Merge remote-tracking branch 'lenormf/highlight-troff' 2018-10-23 08:20:21 +11:00
Jason Felice
e399bf7562 EDN files are Clojure syntax 2018-10-22 10:23:26 -04:00
Frank LENORMAND
2999702b01 rc troff: Highlight *ROFF files
Fixes #2508
2018-10-21 16:24:14 +03:00
Maxime Coste
7470c85a1a Merge remote-tracking branch 'maximbaz/do-not-enforce-autoformat-ocaml' 2018-10-21 18:45:16 +11:00
Maxime Coste
7dbca46bf0 Merge remote-tracking branch 'schickm/bugfix/hbs-highlighter-toggling' 2018-10-21 11:52:22 +11:00
Sébastien Lerique
681942e44b Support commenting syntax in Elm 2018-10-09 11:40:07 +02:00
Matt Schick
8e698e0054 Simplify handlebars adding/removal hooks
Removing the handlebars highlighters when a client toggles away from hbs window unintentionally causes
other clients attached to hbs windows to no longer highlight correctly.  The only other option is to
copy the entire html highlighter and all of it's rules, but that seems like a maitenance headache.
So instead, just leave the hbs rules injected into the html rules once the user opens any handlebars file.
It's not ideal, but I'd say it's the least bad option.
2018-10-06 08:39:01 -05:00
Maxime Coste
888ec60adf Fix kakrc shell script completion region definitions 2018-10-06 10:49:14 +10:00
Maxime Coste
5bdcfab018 Merge remote-tracking branch 'laelath/shell-command-completion' 2018-10-06 10:47:23 +10:00
Maxime Coste
81fa2ad300 Merge remote-tracking branch 'laelath/kitty-repl-cwd' 2018-10-04 20:17:22 +10:00
Maxime Coste
d9e95ff1fc Merge branch 'patch-1' of https://github.com/andreyorst/kakoune 2018-10-04 20:16:47 +10:00
Justin Frank
ab6bc41358 Added shell command completion support to define-command and prompt
This commit also introduces a regression in that I decided that the best way to
avoid overly long and confusing names was to rename the current shell-*
switches to script-*, and have the shell command completion be
shell-completion.

renamed script-{completion,candidates} to shell-script-*

Updated docs with new switch names

Added -shell-completion switch to x11-repl and kitty-repl
2018-10-03 09:46:31 -07:00
Justin Frank
74fb175da1 Made kitty repl window start in the current working directory
Enclose PWD expansion
2018-10-03 09:44:49 -07:00
Andrey Orst
44483e06f7
Simplifed regex variant by mawww 2018-10-03 15:16:16 +03:00
Maxime Coste
fd00776012 Merge remote-tracking branch 'schickm/html-highlighter-indent-bugfix' 2018-10-03 21:44:43 +10:00
Andrey Orst
5dce923785
use more complex regex to handle all suffix combinations 2018-10-02 19:01:53 +03:00
Matt Schick
1d731dbdd0 Fix/improve html-indent-on-new-line
* Fixes erroring execute-keys statement by using '<lt>' rather then '<'
* Reworks hook to not indent after self closing tags
2018-10-02 06:09:14 -05:00
Tim Allen
8385212f98 doc.kak: Fix bashism.
Fixes #2442.
2018-10-01 15:45:28 +10:00
Maxime Coste
150ee05077 Merge remote-tracking branch 'lenormf/fix-doc-anchor' 2018-10-01 11:18:20 +10:00
Maxime Coste
c9467ea959 Merge remote-tracking branch 'lenormf/fix-extended-std-c' 2018-10-01 11:13:16 +10:00
Maxime Coste
dc7f9a813c Merge remote-tracking branch 'TeddyDD/editorconfig' 2018-10-01 11:12:05 +10:00
Maxime Coste
2e0b58a43f Merge remote-tracking branch 'eraserhd/lisp-indent' 2018-10-01 11:11:11 +10:00
Maxime Coste
5709ff7f20 Merge branch 'kd/fix-nim-singlequote-highlighter' of git://github.com/kdheepak/kakoune 2018-10-01 11:10:42 +10:00
Frank LENORMAND
798a7ec351 rc doc: Fix the anchor jump error message
Fixes #2442
2018-09-30 10:43:27 +03:00
Frank LENORMAND
51ced99286 rc c: Highlight more standard types and macros
Related to #2438
2018-09-29 17:43:06 +03:00
Daniel Lewan
0ae88593d3 add highlighting and static words to editorconfig 2018-09-29 14:21:31 +02:00
Jason Felice
e237bf6f15 Better Lisp and Clojure indent
Algol-like indenting doesn't work for Lisp as we tend to open (and
close) many forms on one line.  This generally puts the cursor
where it should be, though it is probably confused by strings
with brackets and things.
2018-09-29 11:25:11 +01:00
Dheepak Krishnamurthy
1549c18b8e Add single_string highlighter 2018-09-28 03:41:10 -06:00
Maxime Coste
004ed72f44 Merge remote-tracking branch 'laelath/kitty-qol-commands' 2018-09-27 19:08:47 +10:00
Maxime Coste
6a82398d0f Merge remote-tracking branch 'schickm/hbs-highlighter-refactor' 2018-09-27 19:08:09 +10:00
Maxime Coste
f3d6586df2 Merge remote-tracking branch 'laelath/clang-format-fixes' 2018-09-27 18:55:50 +10:00
Justin Frank
7e15f200b1 Fixed several clang output formatting errors 2018-09-26 11:22:30 -07:00
Matt Schick
e7e87db94e Rework the handlebars highlighter
- Removes -recurse from handlebars comments. Handlebars parsers (janl/mustache.js, ember-cli/ember-cli-htmlbars), do not treat comments as recursive, so don't highlight them as so.
- Creates shared/hbs-file highligher group. This represents a handlebars file, which is html that happens to contain some handlebars tags.
- Augments the shared/html highlighter when needed. Because handlebars lives inside of html, we need to add the highlighter inside of it. Since there's no way to scope modifications of a shared highlighter to a window, here I'm modifying/unmodifying the shared/html highlighter whenever the user attaches/detaches a filetype of "hbs" to/from the window.
- Matches namespaced helpers as well. In htmlbars, helpers (components) can have '/'s in them, so make sure to continue highlighting through those. Also removes unused capturing groups.
- Allows for de-indenting when closing a block expression
- Brings in html highlighter hooks
- Improves indent matching on close of yielded blocks. Previous version just flat out didn't work.
2018-09-26 06:12:24 -05:00
Andrey Orst
ab09864bd5
Update c-family.kak 2018-09-25 10:23:07 +03:00
Justin Frank
d06e8d662d Added focus-tab call to kitty-focus 2018-09-23 21:12:07 -07:00
Justin Frank
903ae46b5d Added more kitty integration 2018-09-23 13:15:29 -07:00
Maxime Coste
09546a950e doc.kak: Fix rendering of indented code blocks
Fixes #2376
2018-09-23 22:42:30 +10:00
Maxime Coste
dbfed1306f git.kak: Refactor commit message highlighting
Use regions to avoid highlighting the commit message as a diff.
The new method will fail if one line of the commit message matches
'^diff --git' but that is fairly unlikely.

Fixes #2371
2018-09-23 18:00:51 +10:00
Maxime Coste
bb1cb0dbf1 doc.kak: Tweak paragraph joining logic
Fixes #2378
2018-09-23 17:40:16 +10:00
Maxime Coste
49645f8efc Merge remote-tracking branch 'laelath/spell-clear' 2018-09-23 17:05:51 +10:00
Jason Felice
538f2a74c7 Fix clojure numbers
- Fix issue where numbers which were part of symbols were highlighted.
- Fix issue where hexidecimals weren't highlighted past the 'x'
2018-09-22 16:16:36 -04:00
Justin Frank
5700587926 added spell-clear convenience command 2018-09-21 12:30:13 -07:00
Maxime Coste
fd107b8b5e Merge remote-tracking branch 'Delapouite/remove-hooks' 2018-09-20 21:14:22 +10:00
Maxime Coste
8618b286c5 Merge remote-tracking branch 'laelath/highlighter-fixes' 2018-09-20 21:14:01 +10:00
Delapouite
425aa56eaf Use remove-hooks regex in rc 2018-09-19 19:59:57 +02:00
Andrey Orst
b3f817c1ff
Fix highlighting of unsigned long long in C filetype
Values like `0xffffffffffffffffull` were highlighted only till first `u` leaving `ll` without highlighting. This change addresses this issue. It also adds uppercase `ULL` highlighting in values.
2018-09-19 16:50:26 +03:00
Maxime Coste
7956e893be Merge remote-tracking branch 'laelath/git-hide-diff' 2018-09-18 22:30:50 +10:00
Maxime Coste
0fca6ae3dd Merge remote-tracking branch 'Screwtapello/code-regions-for-markdown' 2018-09-18 22:30:07 +10:00
Tim Allen
9e142c6643 markdown.kak: Use lookahead/lookbehind assertions for formatting spans.
Previously, one of the syntaxes for italic was (greatly summarized) something
like this:

    [^_]_[^_]+_[^_]

That is to say, the regex matched the blanks on both sides of the italic span,
as well as the actual span content. That means that if you had consecutive
italic words:

    _some_ _italic_ _words_

...only the odd-numbered words would be highlighted: the space after "_some_"
was counted as part of that span, so it wasn't available as part of "_italic_"
and therefore "_italic_" wouldn't be highlighted. Likewise, if the first word
in a buffer was italic, it wouldn't be highlighted because the first underscore
was not preceded by a non-underscore character!

Now we use lookahead/lookbehind assertions, which don't count as part of the
matched span, so consecutive spans don't interfere with one another.

Fixes #2111.
2018-09-18 19:21:28 +10:00
Tim Allen
535abe2ba7 markdown.kak: Clean up code-block and code-span formatting.
Previously, a code block was anything between triple-backtics, including inline
blocks:

        some text ```
        not a codeblock, but highlighted as one
        ``` other text

and even if the closing backticks had the wrong indent:

        ```
        this is a code block containing a triple backtick
            ```
        this is still a code block, but Kakoune thinks otherwise
        ```

Now we use the -match-capture flag to ensure the start and end fences have
exactly the same indent.

Previously, the generic code-block region was defined first, which meant that
it took priority over all the language-specific highlighters. Now we define
the generic code-block highlighting *after* the others, which fixes #2304.

Previously, code-spans were defined as ordinary inline markup, but in Markdown
ordinary formatting doesn't work inside code-spans. Therefore, they are now
regions unto themselves, defined according to section 6.3 of the CommonMark
spec <https://spec.commonmark.org/0.28/#code-spans>, which addresses a comment
on #2111.
2018-09-18 19:18:32 +10:00
Jason Felice
fbd733f49c Homebrew Brewfile is ruby 2018-09-17 10:29:05 -04:00
Justin Frank
f6d5b23122 fixed hooks running when entered character was not alone on the line 2018-09-16 20:53:23 -07:00
Justin Frank
391e58625f fixed mistakenly indenting matching characters 2018-09-16 17:05:32 -07:00
Justin Frank
2c753889ca changed order of git hide-diff in menus 2018-09-16 13:52:17 -07:00
Justin Frank
f422b8c725 added git hide-diff convenience command 2018-09-16 00:30:46 -07:00
Justin Frank
4bb87ef430 macros always end at the start of a line comment 2018-09-15 10:52:18 -07:00
Justin Frank
e32d5ec88e tweaked some of the c-family highlighting of defines 2018-09-14 19:03:49 -07:00
Maxime Coste
c8fd1e1cf6 Merge remote-tracking branch 'laelath/c-indent-edits' 2018-09-13 20:42:04 +10:00
Maxime Coste
b8d312cfe0 Merge remote-tracking branch 'laelath/kakrc-indent-edit' 2018-09-12 21:01:33 +10:00
Justin Frank
22bda7a7d2 removed unnecessary gi in matching deindent hook 2018-09-12 00:04:05 -07:00
Justin Frank
852d22a543 changed opening matching regexes to be simpler 2018-09-12 00:04:05 -07:00
Justin Frank
2f0b0d468c added auto deindent to kak files 2018-09-12 00:04:05 -07:00
Justin Frank
fa9d13700a Added deindenting of single statements 2018-09-11 21:21:25 -07:00
Maxime Coste
d65c99a448 Further fixes in go-tools.kak to improve its robustness 2018-09-10 21:22:32 +10:00
Maxime Coste
73b6f0994f Merge remote-tracking branch 'swdunlop/master' 2018-09-10 21:18:07 +10:00
Maxime Coste
d57203f41f Merge remote-tracking branch 'laelath/clang-fixes' 2018-09-10 19:41:08 +10:00
Justin Frank
0f8caceac5 fixed highlighting of exec lines 2018-09-08 14:00:00 -07:00
Justin Frank
5c8a756d56 fixed showing parse errors not working 2018-09-08 11:39:30 -07:00
Justin Frank
558d4b864a added autoindentation and comment copying to i3 syntax support 2018-09-06 21:53:04 -07:00
Jason Felice
1b1119e85c Improve Clojure highlighting 2018-09-04 20:44:25 -04:00
Scott W. Dunlop
575b02b171 go-tools.kak: quote completions and scope
Since the gocode completions contain white space, they cannot be used without quotations.

Also, since I'm in there, the buffer should be quoted for heathens who use white space in their paths.
2018-09-04 11:41:35 -07:00
Scott W. Dunlop
48f23f0312 go-tools.kak: fix set-options for go completions
Restores Go completions, as discussed in #2215
2018-09-04 10:58:57 -07:00
Justin Frank
15bf1c7614 updated kitty integration to use the no-response switch 2018-09-01 12:14:33 -07:00
Emerson Ferreira
5e8727ad1b
Add support for Void Linux package templates
These templates are simple shell scripts, similar to PKGBUILDs.
They reside in srcpkgs, so we can use this to identify if
`template` really is a Void Linux package template.
2018-08-20 14:29:32 -03:00
Maxime Coste
a91fc83bfe Merge remote-tracking branch 'lenormf/fix-git' 2018-08-20 07:56:32 +10:00
Maxime Coste
1904202d05 Merge remote-tracking branch 'lenormf/fix-lisp' 2018-08-20 07:49:21 +10:00
Frank LENORMAND
802f51c02a rc git: Support new rebase commands 2018-08-19 07:44:00 +03:00
Maxime Coste
a8dce6abcd Merge remote-tracking branch 'aver-d/dart_comment' 2018-08-19 08:05:25 +10:00
Maxime Coste
1485150b68 Use -once hooks to remove fifo directories 2018-08-19 08:04:31 +10:00
aver-d
d2f48b1942 Add dart to comment.kak 2018-08-17 23:23:59 +01:00
Frank LENORMAND
099ad2319f rc systemd: Make sure files are in the systemd directory
Fixes #2272
2018-08-17 14:08:51 +03:00
Frank LENORMAND
55198032d2 rc git-tools: Change the CWD before running some git commands
When opening buffers from a directory that's not under versioning
(or even from a different repository), `git` commands will not work.

This commit temporarily changes the current working directory to that
of the current buffer to make sure the context is right.
2018-08-16 14:34:48 +03:00
Justin Frank
d557b09ac6 added protobuf syntax support 2018-08-15 21:39:29 -07:00
Harm Aarts
0d087966bf Add Dart rc file
Based heavily on `go.kak`.
2018-08-14 21:06:36 +02:00
Frank LENORMAND
afd44ddaea rc lisp: Highlight basic numeral forms 2018-08-13 20:49:15 +03:00
Frank LENORMAND
93e1b3c254 rc lisp: Extend the range of identifier characters 2018-08-13 20:48:53 +03:00
Frank LENORMAND
36d94cecb4 rc lisp: Fix variable highlighting
Fixes #2289
2018-08-11 10:13:38 +03:00
Maxime Coste
983a8f759a Merge remote-tracking branch 'laelath/fix-git-hide-blame' 2018-08-09 11:25:30 +02:00
Justin Frank
5b236e25a0 i3 comments don't require a space after the hash 2018-08-08 10:28:27 -07:00
Justin Frank
5b83968a29 fixed git hide-blame not working 2018-08-08 10:11:55 -07:00
Maxime Coste
ae75032936 Merge remote-tracking branch 'Screwtapello/support_rust_raw_strings' 2018-08-05 11:44:15 +01:00
Maxime Coste
610dbd97e9 Merge remote-tracking branch 'lenormf/fix-lint' 2018-08-05 10:37:15 +01:00
Frank LENORMAND
5953a38bdd rc lint: Be more resilient to null coordinates
Some syntax checkers (such as `cppcheck`) like to pass
extra-information using a regular diagnostic line - but with null
coordinates (0:0).

This commit makes the `:lint` command ignore such messages, to prevent
`set-option` from failing when assigning coordinates to `lint_flags`, and to avoid unecessary information in the `*lint-output*` buffer.
2018-08-02 14:20:16 +03:00
Tim Allen
8a9471ca5c rust.kak: Support Rust's raw-string syntax.
According to the Rust language reference[1], a raw string starts with an 'r',
zero or more '#' characters, and a '"', and doesn't close until a '"' is
immediately followed by the matching number of '#' characters.

[1]: https://doc.rust-lang.org/reference/tokens.html#raw-string-literals
2018-08-02 15:16:25 +10:00
Frank LENORMAND
bf488338aa rc systemd: Make sure files are in the systemd directory
Fixes #2272
2018-08-01 10:51:15 +03:00
Maxime Coste
1c0cc61ccc Merge remote-tracking branch 'lenormf/fix-lint' 2018-07-31 16:05:00 +01:00
Hao Deng
b2b7672eb3
sql is case insensitive
make sql hilighter case insensitive.
2018-07-30 14:49:21 -04:00
Frank LENORMAND
eee0035a0f rc lint: Create temporary file with the same buffer extension
Fixes #2189
2018-07-30 15:12:41 +03:00
Maxim Baz
451c72cc33
Do not enforce autoformat in ocaml 2018-07-28 12:27:27 +02:00
Jan-Jaap Korpershoek
db6f51b411 Fix unclosed string due to unescaped ' 2018-07-26 11:16:44 +02:00
Jan-Jaap Korpershoek
0a1c4ecf3d Add / behind add-highlighter path 2018-07-26 10:59:42 +02:00
Maxime Coste
47666ba20b Merge remote-tracking branch 'lenormf/syntax-systemd' 2018-07-25 21:11:08 +10:00
Maxime Coste
c668d4c060 Merge remote-tracking branch 'laserswald/scheme-support' 2018-07-24 20:28:09 +10:00
Frank LENORMAND
64c7f8c564 rc: Highlight systemd files in a dedicated script 2018-07-24 11:28:09 +03:00
Ben Davenport-Ray
dca6ad4822 Add Scheme support 2018-07-23 15:55:26 -04:00
Maxime Coste
5fb43478ff Merge remote-tracking branch 'lenormf/fix-lint' 2018-07-22 21:12:06 +10:00
Maxim Baz
6cc46dd307
Recognize systemd timer syntax 2018-07-22 01:33:44 +02:00
Frank LENORMAND
929ef9f5ec rc lint: Escape pipes in diagnostics 2018-07-20 13:18:33 +03:00
Maxime Coste
d640c321c0 cmake.kak: recognize CMakeCache.txt files as ini 2018-07-19 18:40:55 +10:00
Maxime Coste
ab94d1745e mail.kak: Recognize Date header 2018-07-19 18:40:48 +10:00
Maxime Coste
2a3e3f0514 Tweak various scripts to improve the time they take to load
As requested in #2152, startup time should be slightly better.
2018-07-19 18:32:29 +10:00
Maxime Coste
d8cf4f3f3b Merge remote-tracking branch 'lenormf/fix-lint' 2018-07-19 08:27:40 +10:00
Frank LENORMAND
4bd6fe55d4 rc lint: Fix diagnosis displaying 2018-07-18 17:42:56 +03:00
Frank LENORMAND
6f35f41ba0 rc lint: Adapt to upstream changes in the format of string lists 2018-07-18 15:48:34 +03:00
Frank LENORMAND
4612d0928a rc lint: Print an error when lintcmd is empty 2018-07-18 14:16:05 +03:00
Maxime Coste
e7782ff14d Merge remote-tracking branch 'maximbaz/recognize-gitconfig-syntax' 2018-07-15 20:30:00 +10:00
Maxime Coste
6e77e64734 Merge remote-tracking branch 'maximbaz/fix-python-indent' 2018-07-14 23:18:47 +10:00
Maxime Coste
8e1bd88958 Merge remote-tracking branch 'Screwtapello/fix-racer-integration' 2018-07-14 23:17:45 +10:00
Tim Allen
bc0cd64ecf racer.kak: Fix more fallout from the recent quoting changes. 2018-07-10 18:55:47 +10:00
Maxim Baz
26bc173631
Fix python indent for lines ending with colon 2018-07-08 18:21:01 +02:00
Maxim Baz
b0b466e0d3
Recognize .gitconfig syntax 2018-07-08 18:10:12 +02:00
Maxime Coste
2659912220 go-tools.kak: Fix go-disable-autocomplete
As described in #2191
2018-07-08 21:02:51 +10:00
Maxime Coste
79ec8d0010 Rename highlighters that used an underscore to use a dash
For example `show_matching` is now `show-matching`.
2018-07-08 19:14:15 +10:00
Maxime Coste
677ae610f4 Merge remote-tracking branch 'occivink/comment-regs' 2018-07-08 15:59:43 +10:00
Maxime Coste
b3f9f533eb Merge remote-tracking branch 'maximbaz/fix-highlighters' 2018-07-08 15:57:10 +10:00
Maxim Baz
a4b8954934
Remove the -highlight suffix 2018-07-07 01:51:18 +02:00
Maxime Coste
f0b3925ba7 Merge remote-tracking branch 'maximbaz/improve-comment-line' 2018-07-07 09:39:46 +10:00
Maxim Baz
50c0f9dbdd
Missed one place 2018-07-06 13:13:36 +02:00
Maxim Baz
4e0f404eaa
Fix highlighter in lint.kak 2018-07-06 12:43:21 +02:00
Maxim Baz
fcec136f1e
Fix highlighters in git-tools 2018-07-06 12:33:53 +02:00
Maxim Baz
4b18a15a9f
kak_selections_desc is now space-separated 2018-07-05 23:46:21 +02:00
Maxim Baz
89280d0f20
Update according to bbtu 2018-07-05 23:29:53 +02:00
Olivier Perret
efcd94820c comment.kak: don't modify registers as side effect 2018-07-05 20:49:51 +02:00
Maxime Coste
b06ad06507 Fix man.kak add-highlighter commands 2018-07-05 18:00:37 +10:00
Maxime Coste
63d4c8c311 Change a on end of line behaviour to be consistent
`a` will just jump on next line, `a` on last end of line opens a new
line beneath it.

Fixes #1164
2018-07-05 08:00:14 +10:00
Maxime Coste
2e0e206951 Make recurse regex opt-in with a -recurse switch instead of opt-out 2018-07-05 07:54:28 +10:00
Shachaf Ben-Kiki
619184bdf6 Fix static_words in go.kak 2018-07-05 07:54:28 +10:00
Shachaf Ben-Kiki
1a2eecd037 Fix clang.kak and part of lint.kak
* Make clang.kak compatible with POSIX `[`.
* Make lint.kak dump range/line-specs correctly. It still doesn't read them
  correctly -- that'll be easier after the upcoming $kak_ changes for lists.
2018-07-05 07:54:28 +10:00
Maxime Coste
7f117dff1e Fix kitty KakBegin hook with new command syntax 2018-07-05 07:54:28 +10:00
Maxime Coste
3c2e7e13c6 Fix cmake.kak raw string highlighting 2018-07-05 07:54:28 +10:00
Maxime Coste
9ea6b88c1f Fix remaining kak scripts to use the new highlighter syntax 2018-07-05 07:54:28 +10:00
Maxime Coste
43223fba8c Fix various scripts highlighter commands 2018-07-05 07:54:28 +10:00
Maxime Coste
96c9718144 Parse unknown switches as positional for region highlighters 2018-07-05 07:54:28 +10:00
Maxime Coste
40211d1e3b Fix git-tools.kak highlighting 2018-07-05 07:54:28 +10:00
Maxime Coste
f61bcef469 Fix tests and required scripts to get back to green make test 2018-07-05 07:54:28 +10:00
Maxime Coste
e486a97ad8 Fix highlighters in rc/core post syntax refactoring 2018-07-05 07:54:28 +10:00
Maxime Coste
b0ccf97b44 Refactor RegionsHighlighters to define each region as a separate command 2018-07-05 07:54:28 +10:00
Maxime Coste
b4b335155e Refactor add-highlighter to make naming explicit
The highlighter name must be given as part of the path of the
highlighter, as the last element.

Fixes #1712
2018-07-05 07:54:28 +10:00
Maxime Coste
51cff07821 jedi.kak: Fix post command line parsing refactoring 2018-07-05 07:54:28 +10:00
Shachaf Ben-Kiki
1b9474cd44 Fix remaining static_words and spell.kak for the new list syntax 2018-07-05 07:54:28 +10:00
Maxime Coste
7abf04babd Improve highlighting of Kakrc string regions
Unfortunately Strings that start with a quoted quote (like '''str')
are still incorrectly highlighted, a deeper refactoring of the regions
highlighter will be necessary.
2018-07-05 07:54:28 +10:00
Maxime Coste
759a253923 Change kakrc string highlighting to follow the new string syntax 2018-07-05 07:54:28 +10:00
Maxime Coste
27163106c7 Make register expansions expand to the full register content
Now that we have a nice standard way to express lists of strings,
registers can be fully exposed. An new $kak_main_reg_... env var
was added to provide the previous behaviour which is relied on by
doc.kak.
2018-07-05 07:54:28 +10:00
Maxime Coste
a6ba65c121 doc.kak: Fix post list syntax refactoring 2018-07-05 07:54:28 +10:00
Maxime Coste
2729042f83 Fix c-family.kak static_words definition 2018-07-05 07:54:28 +10:00
Maxime Coste
e9fc54538d Convert some of the rc/ scripts to the new list syntax
Other scripts relying on lists are broken at the moment, and will
be fixed. This commit is a proof of concept of the new way to work
with lists.
2018-07-05 07:54:28 +10:00
Maxime Coste
cad5f37efd Fix register saving post -save-regs behaviour change 2018-07-05 07:54:28 +10:00
Maxime Coste
a77710e098 ctags.kak: remove -no-hooks from execute-keys 2018-07-05 07:54:28 +10:00
Maxime Coste
ec16969609 Do not reparse %sh{...} strings
Automatic reparsing of %sh{...}, while convenient in many cases,
can be surprising as well, and can lead to security problems:

'echo %sh{ printf "foo\necho bar" }' runs 'echo foo', then 'echo bar'.
we make this danger explicit, and we fix the 'nop %sh{...}' pattern.

To reparse %sh{...} strings, they can be passed to evaluate-commands,
which has been fixed to work in every cases where %sh{...} reparsing
was used..
2018-07-05 07:54:28 +10:00
Maxime Coste
86616c207d Merge remote-tracking branch 'lenormf/synchronized-write' 2018-07-04 19:46:40 +10:00
Maxime Coste
220458839d Fix git-tools.kak use of $@ 2018-07-04 19:46:06 +10:00
Frank LENORMAND
ab2eade28d rc: Synchronize important file writes
Fixes #2178
2018-07-04 09:55:05 +03:00
Maxime Coste
956c0e32e8 Merge remote-tracking branch 'maximbaz/add-missing-python3-keyword-nonlocal' 2018-07-03 22:18:08 +10:00
Maxim Baz
44f0230fe1
Add missing python3 keyword: nonlocal 2018-07-02 23:28:25 +02:00
Maxim Baz
fb045ec072
Let the update_diff fail if we are not in git repo 2018-07-02 22:43:23 +02:00
Maxim Baz
551674875d
Don't swallow stderr, don't update diff when not in git repo, use underlined ~ symbol 2018-07-02 22:34:54 +02:00
Maxime Coste
68e5674f59 Merge remote-tracking branch 'maximbaz/ini-support-properties-fix-equals-color' 2018-07-02 20:11:49 +10:00
Maxime Coste
379e7c2d2d Merge remote-tracking branch 'maximbaz/improve-git-gutter' 2018-07-02 20:09:10 +10:00
Maxim Baz
b9a0c86cdc
Quote file path, keep silent when not in git repo 2018-07-01 22:54:11 +02:00
Maxime Coste
24ab99c8bf Merge remote-tracking branch 'lenormf/fix-multiplexers-docstring' 2018-07-01 11:17:54 +10:00
Maxime Coste
8fcce5d1b1 Merge remote-tracking branch 'Screwtapello/fix-rust-lifetime-highlighting' 2018-07-01 11:12:45 +10:00
Maxim Baz
a56c39d69b
Improve git gutter 2018-07-01 02:24:46 +02:00
Frank LENORMAND
46943d4374 rc: Clearify the behavior of multiplexers that create new clients
Note: `GNU/screen` has a different interpretation of what constitutes
a "vertical split", hence the inverted command descriptions, compared
to the tmux/iterm etc.

Closes #1626
2018-06-30 14:19:32 +03:00
Frank LENORMAND
513eb2720e rc iterm: POSIX fixes 2018-06-30 14:07:20 +03:00
Frank LENORMAND
76ac7ab663 rc git: Highlight the delete operation when rebasing 2018-06-29 18:23:49 +03:00
Maxim Baz
7cfd0d1b39
trigger travis 2018-06-29 01:37:56 +02:00