Commit Graph

1605 Commits

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