Commit Graph

1525 Commits

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