Commit Graph

1804 Commits

Author SHA1 Message Date
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