Commit Graph

1178 Commits

Author SHA1 Message Date
Maxime Coste
c6c501eb5b asciidoc.kak: Fix highlighting of _itallic_ markup
`_` is a word character, so the regex cannot be exactly the same
as for `*`.
2018-03-05 11:20:56 +11:00
Maxime Coste
56e005e996 Merge remote-tracking branch 'marcesquerra/racer-fix-for-mac' 2018-03-05 07:41:18 +11:00
Marc
2ef1ac0b3b Fix racer complation on Mac 2018-03-04 20:14:53 +00:00
Maxime Coste
e4e2ed2a42 Merge remote-tracking branch 'fsub/arch-linux' 2018-03-05 00:39:37 +11:00
Maxime Coste
8acedacf7c Merge remote-tracking branch 'marcesquerra/racer-tweaks' 2018-03-04 10:59:31 +11:00
Maxime Coste
65258934d3 lua.kak: Rework 'end' auto insertion logic
Fixes #1525
2018-03-04 10:36:32 +11:00
fsub
e583b9a258 Fix #1838: Introduce 'arch-linux.kak' 2018-03-03 19:59:54 +01:00
Maxime Coste
5c247bf1dd c-family.kak: Do not mistake '\"' for a double quoted string start
Fixes #1893
2018-03-01 14:01:09 +11:00
Maxime Coste
3e50d39f8e comment.kak: recognize xml files 2018-02-28 15:07:25 +11:00
Marc
f6a3fd2e4e Unify racer code completion format
Makes all the suggestions on the completion menu have the same format:
  {type}{suggestedWord}{extra description}

the type column is aligned to 6 characters wide (and aligned to the right),
to allow the suggestion to be easily visually detectable and, as a bonus,
the type too.

For example, a bit of menu would look like this:
        fn stdout() -> Stdout
     trait BufRead: Read
    struct BufReader<R>

Type is one of the following:
  -     fn
  -   enum
  -    mod
  -  trait
  - struct

It also trims the module extra bits to only 30 characters long (it can be a lot longer than that)
2018-02-26 13:07:41 +00:00
Marc
d79e680e71 Remove trailing ':' from racer execution
When AWK processes the racer response, it adds a trailing ':' that
kakoune completion expects to lead to a row having an 'a|b|c' shape,
but it's empty instead. Removing the extra ':' allows the racer
complation to actually work.
2018-02-26 12:24:12 +00:00
Maxime Coste
4d11bb20c3 Always collapse jumps in exec/eval, remove -collapse-jumps switch
There does not seem to be any reasonable use cases of not collapsing
jumps when the input is not comming from the user. Always collapse
them.

It could make sense to move jump collapsing out of context_wrap as
in general any action not comming directly from the user should
collapse them, at the moment a comment or mapping will not collapse
jumps, which is unfortunate.
2018-02-24 19:02:15 +11:00
Maxime Coste
e93c31ff0d doc.kak: stricter parsing of formatted text
Format markers such as *, _ or ` must be followed/preceeded by a non
whitespace character to be considered formatting marker.
2018-02-22 22:22:13 +11:00
Maxime Coste
026cf8af3a doc.kak: fix handling of lines begining with * or -
Those were considered as any other lines for paragraph joining,
threat them as a new paragraph start, to correctly handle asciidoc
lists.
2018-02-22 22:09:00 +11:00
Maxime Coste
9b5b974397 iterm.kak: Implement focus support 2018-02-20 20:56:06 +11:00
Maxime Coste
9755f7f8f2 make.kak: Fix echoing of error message when jumping
The use of `%{...%reg{...}}` was not being expanded correctly, as
the enclosing %{...} prevents the internal %expand{...} from being
considered.

The introduction of an additional command allows us to bypass
quoting hell as the expansion of %reg{5} could contain arbitrary
text.
2018-02-19 21:43:43 +11:00
Maxime Coste
cbf11d7a07 nim.kak: Fix wrong tr invocation 2018-02-19 21:24:36 +11:00
Maxime Coste
4f75358ce3 lua.kak: Fix string highlighting with -match-capture regions
With the introduction of -match-capture for the lua region highlighter,
the string closing regex had spurious captures that were not going to
match.

Fixes #1850
2018-02-18 16:21:05 +11:00
Maxime Coste
f8861734cf rc/: Replace simple uses of sed with tr 2018-02-18 15:00:30 +11:00
Maxime Coste
82c8a6e9dd Merge remote-tracking branch 'alexherbo2/rc-ruby' 2018-02-18 11:36:42 +11:00
Alex Leferry 2
04b57539e8 Recognize .gemspec files as Ruby 2018-02-18 00:49:09 +01:00
Frank LENORMAND
f25e8640b8 base javascript: Tweak variable highlighting
This commit avoids false positives when highlighting literals such as
`$window`, which is a regular variable but still highlighted as a
special value.

Special highlighting of variables that start with a dollar sign `$`
was also removed, as not all variables start with a dollar sign,
and we don't have a reliable way yet to detect variables.
2018-02-17 11:53:56 +03:00
Maxime Coste
f5e39972eb Merge remote-tracking branch 'jacobdufault/lua-better-strings' 2018-02-15 23:35:01 +11:00
Jacob Dufault
42f78dfac3 Highlight nested == comments/strings in lua.
For example,

  [==[ string ]==]
2018-02-11 22:23:49 -08:00
Maxime Coste
d95530b171 lint.kak: Update lint info when the linting data changed
Fixes #1836
2018-02-11 22:03:24 +11:00
Maxime Coste
c939c30135 ocaml.kak: remove invalid unset-option static_words hook
unsetting static_words whenever any buffer filetype is set to non ocaml
is wrong, it breaks static_words for every filetype whose filetype hook
run before the ocaml ones.
2018-02-11 21:51:32 +11:00
Maxime Coste
01259bf22c Merge remote-tracking branch 'MilanVasko/lua-comment-fix' 2018-02-11 19:10:24 +11:00
Milan Vaško
128e0f53ff Fixed Lua block comment highlighting
Block comments in Lua were broken, apparently due to the opening
sequence being interpreted as a line comment. Changing the order in the
highlighter seems to fix this issue.
2018-02-10 13:40:48 +01:00
Alex Leferry 2
39c0c03351 Highlight Ruby control access keywords 2018-02-08 13:34:40 +01:00
Maxime Coste
fb07e2cfcf clang.kak: workaround OSX awk strange parsing of bracket expressions
For some reason `[[:alnum:]{}_]` does not match `{` when
`[{}_[:alnum:]]` does
2018-02-07 19:40:45 +11:00
Dan Rosén
3ac328c1f7 Highlight JSX
Additionally merges the javascript and typescript highlighters.

Fixes #1700
2018-02-04 08:31:03 +01:00
Maxime Coste
9883cf5f75 Merge remote-tracking branch 'nochiel/nochiel-fix-tmux-repl' 2018-02-04 09:33:52 +11:00
Daniel Lewan
bc876fa4b6 add justfiles support 2018-02-03 14:43:20 +01:00
Nicholas Ochiel
ca8cbf316c Check if tmux was compiled from master.
Fixes #1827.
2018-02-03 01:14:25 +03:00
Maxime Coste
cfa497362c Merge remote-tracking branch 'alexherbo2/rc-javascript' 2018-01-31 09:39:40 +11:00
Alex Leferry 2
6fe8b9eb70 Highlight JavaScript static keywords 2018-01-30 19:19:12 +01:00
Jimmy Thrasher
7bf235b0ee Add heredoc support for ruby.kak 2018-01-26 07:56:36 -05:00
Maxime Coste
43f50c0852 Convert bundled scripts to ModeChange hook 2018-01-21 10:35:05 +11:00
Dan Rosén
a612432c8d Highlight python operators 2018-01-07 23:36:41 +01:00
Dan Rosén
40aaf63338 Highlight python doctests in docstrings 2018-01-07 23:36:41 +01:00
Maxime Coste
4740dbf9fa doc.kak: Fix anchor name completion 2017-12-29 09:37:04 +11:00
Dan Rosén
969f416027 Generate the markdown highlighter code 2017-12-13 07:27:45 +01:00
Maxime Coste
cb2ff7eb5f Merge remote-tracking branch 'danr/fence' 2017-12-12 17:57:26 +11:00
Maxime Coste
593a75acbe Merge remote-tracking branch 'lenormf/fix-pony' 2017-12-12 17:55:18 +11:00
Maxime Coste
82b7f462dc Merge remote-tracking branch 'SolitudeSF/nim' 2017-12-12 17:55:02 +11:00
Frank LENORMAND
996168f504 rc pony: Remove hardcoded indentation settings 2017-12-11 18:27:28 +03:00
SolitudeSF
8ae8e7b31a Removed indentation settings 2017-12-11 10:26:06 +02:00
Dan Rosén
5bc62c6942 Fix highlight references in Markdown fenced code blocks
Fixes #1735

We need \K to not interfer with languages own interpretation of ` like multiline strings in javascript

We need \b in e.g. java\b otherwise it blocks javascript

I couldn't get the bare ``` to not block the other highlighters when introducing \K any other way than negative lookahead of all possible highlighers
2017-12-10 23:00:26 +01:00
Maxime Coste
62f47b780b Merge branch 'fix-haskell-variables-regression' of git://github.com/bitonic/kakoune 2017-12-11 08:54:23 +11:00
Maxime Coste
d494b9de34 Merge remote-tracking branch 'SolitudeSF/nim' 2017-12-11 08:48:50 +11:00
Francesco Mazzoli
fa61d7aac0 fix regression in highlighting of qualified Haskell variables
Commit 870d2d22d7 introduced a regression
in the highlighting of qualified Haskell variables, such as `Foo.bar`.
After that commit `Fo` was highlighted as a constructor (note, not
`Foo`, just `Fo` without the trailing `o`). This restores the original
behavior.
2017-12-10 21:04:03 +01:00
Maxime Coste
19556d5fbe Merge remote-tracking branch 'Geemili/fix-inline-markdown' 2017-12-10 10:18:51 +11:00
Maxime Coste
9071e2a6bf Merge remote-tracking branch 'Geemili/feature-restructuredtext' 2017-12-10 10:18:23 +11:00
SolitudeSF
6eabec908e Expand nim support 2017-12-09 23:02:59 +02:00
LeRoyce Pearson
4f069edca6 Add reStructuredText support script
- headers
- bold emphasis
- regular emphasis
- code highlighting
- inline literals
2017-12-09 14:15:00 -06:00
LeRoyce Pearson
3acf3aa5a2 Fix overlapping inline markup
Make it some some text like "**bold**" wil not be marked as italic and bold.
2017-12-08 16:04:43 -06:00
Maxime Coste
2f9deaf067 Merge remote-tracking branch 'nochiel/nochiel-screen' 2017-12-07 19:54:11 +08:00
Maxime Coste
7072e65a28 Merge remote-tracking branch 'danr/typescript-comment' 2017-12-07 10:46:26 +08:00
Dan Rosén
fbe312e0d0 Add typescript to comment.kak 2017-12-06 20:50:05 +01:00
Maxime Coste
1b44056fce man.kak: Better support for renaming a man buffer
Fixes #1718
2017-12-06 14:49:38 +08:00
Maxime Coste
a9f1a23f35 man.kak: use shell-candidates instead of shell-completions 2017-12-06 14:10:10 +08:00
Maxime Coste
363a0c3a0d man.kak: Fix behaviour when called with no params with Posix shells
Seems dash nevers falls back for ${@-$blah}, it does not considers $@
to be empty. Use ${1-$blah} instead as we never have more than one
parameter.
2017-12-06 13:23:39 +08:00
Frank LENORMAND
e5742fd6b1 - Fix: proper escaping of kak_{session, client} 2017-12-06 02:30:42 +03:00
Nicholas Ochiel
494d046fb2 * Integrate ranger with GNU Screen.
- Ensure ranger opens with the currently focused client tty if multiple screen clients are connected to the same session.
- Ensure args are passed to ranger correctly.
- Ensure command-line args are passed to ranger correctly. (Only strict long format works e.g. `ranger --cmd="echo foo"`)
- Change the current directory because `screen -X` uses screen's cwd not kakoune's.
- Use heredoc to make escaping and quoting easier to debug and slightly less unpredictable.
- Use ranger's `--choosefiles` option instead of mapping keys and having to do multiple levels of escaping and quoting of args esp. command-line args which were unusable in `screen -X eval`.
- Remove screen region when user quits ranger.
2017-12-06 02:29:40 +03:00
Nicholas Ochiel
908e0c1f8c * Crude implementation of focus: use the current region to switch to the desired window.
- The proper way to do this would be to switch focus to the target client's region but GNU Screen offers no obvious way to do that.

- Remove screen region after client is closed.

- Assumed: Kak server runs in screen.
2017-12-03 20:05:02 +03:00
Maxime Coste
23fdb914bf Merge remote-tracking branch 'lenormf/fix-dockerfile' 2017-12-03 18:13:39 +08:00
Maxime Coste
c83f7d5b1e Merge remote-tracking branch 'lenormf/nim-support' 2017-12-03 18:13:30 +08:00
Maxime Coste
35d2b2b4bc c-family.kak: Use regex custom text object to simplify some indent 2017-12-03 17:48:04 +08:00
Maxime Coste
1a38849086 c-family.kak: indent after parenthesis at end of line 2017-12-03 17:47:44 +08:00
Frank LENORMAND
f3238f4e65 rc dockerfile: Remove a left-over debug instruction 2017-12-01 17:12:41 +03:00
Maxime Coste
e9e3dc862c Merge git://github.com/valerdi/kakoune 2017-12-01 16:40:31 +08:00
Maxime Coste
90c91ca3a2 Merge remote-tracking branch 'lenormf/fix-dockerfile' 2017-12-01 16:39:50 +08:00
valerdi
4d4c6aa82b
added AbstractString to keywords 2017-11-30 15:44:12 +01:00
Frank LENORMAND
e102251880 rc: Implement basic Nim support 2017-11-29 19:15:00 +03:00
Maxime Coste
74b0c98769 Merge remote-tracking branch 'occivink/comment' 2017-11-24 16:29:30 +08:00
Olivier Perret
ee117b9499 set registers directly instead of expanding options in exec 2017-11-23 10:30:10 +01:00
Frank LENORMAND
58ccf6b295 rc python: Highlight built-in exceptions 2017-11-18 11:56:47 +03:00
Maxime Coste
386f595a49 screen.kak: use define-command full name instead of def alias 2017-11-16 12:56:42 +08:00
Maxime Coste
281890ea7a Merge remote-tracking branch 'nochiel/nochiel-screen' 2017-11-16 12:56:09 +08:00
Nicholas Ochiel
133fcb0ce4 code review: typos. 2017-11-15 17:42:37 +03:00
Nicholas Ochiel
d9a574acd5 Integration with GNU screen; based on tmux.kak
- Hack: kak sets `/proc/self/fd/0 -> /dev/null`. Get the client process tty because Screen needs to know the controlling terminal. Else Screen will use the last known tty and will open new windows on a different terminal if one is connected.
2017-11-15 06:10:26 +03:00
Maxime Coste
77b0ee1e19 Merge remote-tracking branch 'lenormf/extend-python-highlighters' 2017-11-14 18:08:27 +08:00
Frank LENORMAND
105d7a1276 rc python: Extend highlighted keywords and numbers 2017-11-14 12:50:20 +03:00
Maxime Coste
2ab9f65b36 c-family.kak: Use <a-S> in various auto indent hooks 2017-11-14 13:32:46 +08:00
Maxime Coste
9c964e97f0 c-family.kak: Highlight character literals later
That way it overrides integer literal highlighters in the case where
they conflict.
2017-11-14 11:45:30 +08:00
fsub
ee695ecf95 c-familiy.kak: improve highlighting of C++ literals 2017-11-12 18:16:20 +01:00
Maxime Coste
add7f7e76b Revert "c-family.kak: Remove invalid 'compl' keyword from C++ highlight"
This reverts commit f8dee65d6e.

compl is actually the alternate keyword for `~`.
2017-11-11 09:54:32 +08:00
Maxime Coste
f8dee65d6e c-family.kak: Remove invalid 'compl' keyword from C++ highlight 2017-11-09 10:43:46 +08:00
Maxime Coste
5791632a98 c-family.kak: use space separated words list 2017-11-09 10:25:03 +08:00
Maxime Coste
a131edb9b3 Merge remote-tracking branch 'fsub/c-family' 2017-11-09 10:09:58 +08:00
Maxime Coste
8aa35c0724 doc.kak: Use a github compatible anchor generation
Convert session names to lowercase and replace spaces with minus
to generate anchor names.
2017-11-08 20:15:46 +08:00
Maxime Coste
b8fdcff7b0 doc.kak: anchor/section completion support 2017-11-08 17:20:37 +08:00
Maxime Coste
b63f16e7a2 doc.kak: Support anchors and internal links
Underline links, support jumping to a specific anchor either in
the current page or another one, use those new features in some
pages.
2017-11-08 16:32:49 +08:00
Maxime Coste
d6b5240bdf doc.kak: Remove unused lines 2017-11-06 20:53:50 +08:00
Maxime Coste
73182de20c doc.kak: Support jumping on links using <ret> 2017-11-06 20:52:24 +08:00
Maxime Coste
19cda837ff doc.kak: Simplify completion script 2017-11-06 20:47:12 +08:00
Delapouite
29e2a73638 Fix lint.kak evaluate-commands → eval 2017-11-06 10:51:55 +01:00
fsub
db15f7adc5 c-family.kak: Add missing C++ keywords, attributes, and types 2017-11-05 10:11:59 +01:00
fsub
1ad83745c2 c-family.kak: Sort keywords, attributes, values, and decorators 2017-11-05 10:11:59 +01:00
Maxime Coste
b5de3064e0 Merge remote-tracking branch 'lenormf/fix-tupfile' 2017-11-05 12:22:18 +08:00
Tim Allen
f9351d65eb rust.kak: Support Rust's documentation comments.
As well as ordinary `//` line-comments, Rust regards `///` comments
as documentation applying to the following item, and `//!` comments as
documentation applying to the enclosing item, so we should copy those
to new lines, too.
2017-11-04 21:54:48 +11:00
Frank LENORMAND
61ab3a1d26 rc: Fix Tupfile highlighting 2017-11-04 10:56:20 +03:00
Frank LENORMAND
ff557a0cf0 rc: Simplify Dockerfile support, highlight values and additional keywords 2017-11-04 10:45:58 +03:00
Olivier Perret
16f42fe3a6 refactor comment.kak
* move most of the kakoune implementation outside of the shell scope
  to avoid unnecessary escaping
* let kakoune do the option expansions to avoid injection of special
  characters
* split block commenting options into two and do the < to <lt>
  conversion directly
* show error messages directly in the buffer rather than in *debug*

Fixes #1600 and #875
2017-11-03 13:20:02 +01:00
Olivier Perret
00d8716c79 commenting: move rust to the C-style group 2017-11-03 13:13:42 +01:00
Maxime Coste
9b216e0e79 Merge remote-tracking branch 'lenormf/fix-rc-aliases' 2017-11-03 19:32:30 +08:00
Frank LENORMAND
9127ed0d55 src rc: Rename exec/eval into execute-keys/evaluate-commands 2017-11-03 11:09:45 +03:00
Frank LENORMAND
c9b280b712 rc: Don't use command aliases to highlight keywords properly 2017-11-03 10:34:41 +03:00
Kylie McClain
79f725a558 sh: support mksh 2017-11-02 23:23:54 -04:00
Maxime Coste
b3daf6b746 doc.kak: Support rendering _italic_ text as well 2017-11-02 17:42:16 +08:00
Maxime Coste
4fabba3d12 doc.kak: Render documentation internally instead of relying on man
doc.kak now behaves as a basic asciidoc renderer. Asciidoc is unfortunately
still a dependency to generate the manpage of the `kak` command.
2017-11-02 10:03:24 +08:00
Maxime Coste
90865b65cd asciidoc.kak: Highlight ^=+ syntax sections 2017-11-02 09:52:18 +08:00
Maxime Coste
424b2389cb kakrc.kak: Fix highlighting of key words at start of buffer 2017-11-02 01:28:37 +08:00
Maxime Coste
5e6077acc2 html.kak: Change </...> align hook to only run after inserting '>'
Improve the hook to support nesting of tags as well.
2017-10-30 17:04:54 +11:00
Maxime Coste
c8257a58a5 kakrc.kak: set '-' as an additional word char 2017-10-28 13:43:04 +08:00
Maxime Coste
d7671f0cdf kakrc.kak: Fix static word definition 2017-10-28 13:43:04 +08:00
Maxime Coste
d49555fc75 Move highlighters into Scopes
That means we can now have highlighters active at global, buffer, and
window scope. The add-highlighter and remove-highlighter syntax changed
to take the parent path (scope/group/...) as a mandatory argument,
superseeding the previous -group switch.
2017-10-28 13:43:04 +08:00
Maxime Coste
c95bd83ea1 haskell.kak: remove complex lookarounds
Highlighting is going to be slightly less correct, but we get rid
of the last incompatible regex in rc/
2017-10-25 10:29:27 +08:00
Maxime Coste
d09924d24b asciidoc.kak: use a more tolerant block regex for
Get rid of the nasty backreference we were relying on.
2017-10-25 10:29:27 +08:00
Maxime Coste
591ddb86e3 markdown.kak: Remove fenced block support from
Its not in the spec, except for code blocks that we handle differently
anyway. More importantly it currently relies on backreference.
2017-10-25 10:29:11 +08:00
Maxime Coste
7dc800c213 Simplify lookaround use in moon.kak
(?=[A-Z]\w*) is strictly the same as (?=[A-Z]) as \w* will always
at least match an empty string.
2017-10-25 10:29:11 +08:00
Maxime Coste
870d2d22d7 haskell.kak: Remove some complex lookarounds 2017-10-25 10:28:59 +08:00
Maxime Coste
0fa59e5fd2 rc/: Tweak some regexes to be compatible with our impl limitations
The upcoming custom implementation does not support arbitrary lookarounds,
and other advanced regex features. Simplify the regexes to avoid those.
2017-10-25 10:27:39 +08:00
Maxime Coste
bf6e5daa08 Use stricter regex syntax
boost regex tolerates non-escaped special characters, and escaped
non-special characters. Standardize on stricter syntax, where
special characters must be escaped, and non-special characters must
not.
2017-10-25 10:27:39 +08:00
Maxime Coste
80d661e6a7 rc/: More consistent uses of regex syntax
Always use \A \z for subject start/end, always \b for word boundaries
2017-10-25 10:27:25 +08:00
Maxime Coste
30ce5a0055 Merge remote-tracking branch 'nochiel/nochiel-modelines' 2017-10-23 16:34:17 +08:00
Maxime Coste
214f321951 Merge remote-tracking branch 'danr/Fix-introduced-mistake-in-kakrc-highlighting' 2017-10-23 16:33:26 +08:00
Maxime Coste
6d65d8e778 kakrc.kak: refactor grammar handling 2017-10-23 10:56:45 +08:00
Dan Rosén
577d84217a Fix introduced mistake in kakrc highlighting 2017-10-22 01:23:12 +02:00
Nicholas Ochiel
d168c75002 vim modeline regex should accept not one but "at least one" whitespace. 2017-10-21 21:04:39 +03:00
Maxime Coste
6740e3cc0c Add some more keywords to kakrc highlighting 2017-10-21 18:48:35 +08:00
Maxime Coste
e6009f7f9b Merge remote-tracking branch 'danr/Improve-kakrc-highlighter' 2017-10-21 17:36:08 +08:00
Dan Rosén
5b0f070300 Improve kakrc highlighter 2017-10-21 10:08:50 +02:00
Dan Rosén
1310193a0a Fix typescript highlighter
Before this patch keywords are highlighted in comments etc
2017-10-21 09:56:38 +02:00
Maxime Coste
f76535613e Merge remote-tracking branch 'helvetie/ini-comments' 2017-10-20 17:29:02 +08:00
helvetie
7edc1a57a3 ini.kak: add ';' as a valid comment character 2017-10-19 15:05:17 +02:00
wheatdog
6f6e76a245 Fix latex.kak
Solve #1346
2017-10-17 21:14:08 +08:00
Maxime Coste
209113aa1c Merge remote-tracking branch 'nochiel/nochiel-fix-autorestore' 2017-10-17 10:30:24 +08:00
Maxime Coste
431e226fc8 Merge remote-tracking branch 'danr/Add-support-for-typescript' 2017-10-15 22:51:44 +08:00
Nicholas Ochiel
24e9b86562 ref vim options.txt 2017-10-15 06:04:19 +03:00
Alex Suraci
c702c915c1 iterm: use 'exec' so pane auto-closes with editor
this uses 'export' to set $TMPDIR instead; fish provides an 'export'
function for bash-compatibility, so this should work for both shells.

note that prior to this change, opening new panes with fish did not
work, as fish does not support `FOO=1 bar` syntax.
2017-10-13 16:01:06 -04:00
Nicholas Ochiel
040a096f36 Do not restore old backup files. This check is necessary for cases where
- the file was edited with a different editor/program or
- kak didn't restore a backup or
- if old backups weren't purged or
- if autorestore wasn't loaded (e.g. `kak -n`) after backups were generated.
2017-10-12 15:33:21 +03:00
Dan Rosén
ad724ab1a8 Add support for typescript 2017-10-10 10:23:25 +02:00
Maxime Coste
397e5ef0e1 Fix potential bug in clang.kak 2017-10-10 10:53:12 +08:00
Frank LENORMAND
1cfee17a16 rc man/doc: Don't show groff warnings
Sometimes the implementation of `man` will display errors, e.g.

```
<standard input>:4808: warning [p 54, 13.2i]: can't break line
```

Those errors are harmless but are still reported on the debug buffer,
so we hide them by redirecting the standard error stream to /dev/null.
2017-09-30 08:23:10 +03:00
Frank LENORMAND
1e3c343773 rc doc: Use POSIX flag -name instead of -iname 2017-09-30 08:15:14 +03:00
Frank LENORMAND
18e64c5c7d rc doc: Implement the -i flag of sed in a POSIX manner 2017-09-29 22:16:31 +03:00
Frank LENORMAND
f26854694e rc doc: Remove window hooks automatically assigned
When using the `man` filetype to make use of the text highlighters
of the `man.kak` script, the documentation pages inherit from the
window resizing hooks that won't work on `doc` buffers.

Fixes #1591
2017-09-29 22:12:09 +03:00
Nicholas Ochiel
755cbd4436 Fix: glob for backup files. 2017-09-27 00:34:05 +03:00
exitium
a4ba9b339e Fix Lua comment delimiter insertion (see #1584) 2017-09-23 10:20:02 -04:00
Maxime Coste
a303cf5698 Merge remote-tracking branch 'lenormf/fix-perl' 2017-09-18 10:08:13 +09:00
Maxime Coste
9fea868e9e Merge remote-tracking branch 'Delapouite/css' 2017-09-18 10:02:43 +09:00
Maxime Coste
902724e558 c-family: auto close unions with a semicolon as well 2017-09-18 09:41:26 +09:00
Frank LENORMAND
1b11412796 rc perl: Don't highlight regex, fix string escapes
Highlighting perl regex patterns with regular expressions (with
highlighters) caused several misses that made most of the file
unreadable. This commit makes `perl.kak` not try to highlight
those patterns in the code, and also addresses issues with string
highlighting.
2017-09-14 14:16:58 +03:00
Maxime Coste
661047795c Merge remote-tracking branch 'lenormf/mercurial-support' 2017-09-11 21:11:27 +08:00
Frank LENORMAND
90961b0990 rc: Add support for MySQL, SQL Server and MS Access
Closes #1540
2017-09-09 11:54:24 +03:00
Frank LENORMAND
3cb159f056 rc: Add support for Mercurial
The script only highlights comments in commit messages, but it's a basis
to improve upon if more features are needed in a later time.
2017-09-08 14:44:55 +03:00
Delapouite
2001a9a087 css.kak: add hl to more common CSS length units 2017-09-06 12:08:49 +02:00
Maxime Coste
4c2ed2062a Merge remote-tracking branch 'lenormf/fix-html' 2017-08-31 11:22:09 +07:00
Philippe Daouadi
f56c5d687e Check for gocode, goimports and gogetdoc on go-tools loading 2017-08-30 10:19:13 +02:00
Frank LENORMAND
4f8211ecea rc base html: Highlight attributes with no value 2017-08-29 14:17:28 +03:00
Maxime Coste
716816966f Merge remote-tracking branch 'lenormf/fix-html' 2017-08-26 16:16:07 +07:00
Frank LENORMAND
eb0786e001 rc base html: Highlight the DOCTYPE and tag attributes 2017-08-26 11:28:56 +03:00
Maxime Coste
27ba416ddf Merge remote-tracking branch 'danr/Improve-Haskell-highlighter' 2017-08-26 10:48:21 +07:00
Maxime Coste
c8335a6515 Merge remote-tracking branch 'blastrock/go-tools-error' 2017-08-26 10:47:04 +07:00
Enrico Lumetti
59e5a4126d editorconfig.kak: fix awk typo 2017-08-23 21:11:46 +02:00
Dan Rosén
ef1a1e6bd3 Improve Haskell highlighter
Import keywords are put in keyword face instead of meta face.
This leaves room for pragmas and macros to be in the meta face.

Operator keywords are put in keyword face too.

Finally, expression keywords are put in face attribute.
2017-08-22 16:29:27 +02:00
Philippe Daouadi
9fafb1aba1 Show error when using go-jump and jq is not installed 2017-08-21 10:02:47 +02:00
Maxime Coste
420c6aca23 Change documentation directory towards $kak_runtime/doc 2017-08-03 15:00:02 +07:00
Tim Allen
e640e6d859 Consecutive markdown list bullets are not a valid list prefix.
Previously, if you opened a new line after an underlined heading (what
the CommonMark spec calls a "Setext heading") or inserted a newline into
a line that started with `**strong emphasis**` the Markdown autoindent
hook would assume the leading symbols were list bullets and paste them
at the beginning of the new line.

However, the CommonMark specification says that list bullets must be
followed by at least one horizontal whitespace character, so Setext
heading underlines and strong emphasis are not valid list bullets and
should not be matched by the autoindent pattern.

This commit changes the regex that selects the pastable prefix of the
previous line so that it must match either:

  - One or more `>` characters with optional whitespace between them
    (a blockquote prefix), optionally followed by a list bullet; or
  - An optional blockquote prefix and a list bullet

Since we don't strictly need either the blockquote prefix nor the list
bullet, we could concievably just make both optional... but for lines
without either, the regex would find a zero-length match, and for the
purposes of copy/paste Kakoune treats that as a one-character match.
Therefore, the regex is written to fail if neither pattern is found.
2017-08-01 20:36:40 +10:00
Maxime Coste
4dac61c864 Fix grep-next/prev-match not jumping correctly to first/last match
When used just after grepping, grep-next-match ended up jumping to
the second match, as `0g` is the same as `g`.

The fix itself is pretty ugly, a better one might be to distinguish
the `0` count from no count given, so that `0g` could fail with
"no such line" or similar.
2017-07-29 03:02:11 +07:00
Maxime Coste
6ab98f8bf8 Fix grep-jump on eol 2017-07-29 03:02:11 +07:00
Maxime Coste
337a38552b Fix sakura termcmd setup
Sakura `-e` is xterm compatible, so would require a `sh -c`, but it
also provides `-x` which takes a single argument, switch to that.
2017-07-25 10:26:52 +02:00
Maxime Coste
d1de9912c0 Merge remote-tracking branch 'lenormf/fix-git' into c++14 2017-07-19 17:20:18 +02:00
Maxime Coste
9c4448ac41 Remove echo -color support, superseeded by echo -markup
`echo -color Error "blah"` is the same as `echo -markup '{Error}blah'`
Fixes #1512
2017-07-19 17:18:52 +02:00
Frank LENORMAND
21847a5f85 rc man: Avoid undefined behavior on expr
Looking up the man page for `index` was failing on systems using
GNU/coreutils. The `:man` command matched whatever page it was given with
the `expr` utility. This tool behaves as expected when it follows strictly
the POSIX standard but the GNU implementation introduces additional commands
(including `index`), about which the standard states:

```
The use of string arguments length, substr, index, or match produces unspecified results.
```

As a result, parsing the man page number is now implemented with pure
shell expansions, to avoid triggering an undefined behavior when the topic
searched is one of the keywords above.
2017-07-17 21:24:41 +03:00
Frank LENORMAND
8687222518 rc git: Don't force a highlighting format on commits 2017-07-17 08:36:47 +03:00
Frank LENORMAND
74babc36b1 rc formatter: Don't force selection restoration
The `|` primitive now correctly restores selections, we don't need to
forcibly restore the main one after formatting anymore.
2017-07-14 11:21:48 +03:00
Maxime Coste
52c8dc9d09 Highliight git MERGE_MSG files as commit messages 2017-07-08 13:39:48 +09:00
Maxime Coste
822225cbbb Merge remote-tracking branch 'lenormf/fix-tupfile' 2017-07-08 13:39:22 +09:00
Frank LENORMAND
50b635ce2d rc c-family: Add a hook to the insert group 2017-06-29 13:29:48 +03:00
Frank LENORMAND
a2be15801f rc tupfile: Fix the keywords regex 2017-06-29 13:13:01 +03:00
Delapouite
a932b6b21e Add error message when using format command with no formatcmd specified 2017-06-26 22:10:04 +02:00
Maxime Coste
f41d78083a Use the extra_word_chars option in word based normal commands
the completion_extra_word_chars is now gone, superseeded by
extra_word_chars that gets used both for completion and for normal mode.

Fixes #1304
2017-06-26 15:28:41 +01:00
Frank LENORMAND
6376aa6206 rc formatter: Make sure the formatter returned successfully
The previous implementation used to replace the contents of the buffer with
whatever the `formatcmd` was returning, regardless of the exit code of the
command, which led to the buffer being wiped out on error.

This commit does the formatting in a temporary file, and only replaces the
current buffer with the contents of the -formatted- temporary file if the
`formatcmd` returned successfully.

Fixes #1357
2017-06-23 15:12:23 +03:00
Maxime Coste
45ac100c21 Merge remote-tracking branch 'lenormf/fix-ctags-command-names' 2017-06-23 10:22:15 +01:00
Maxime Coste
d9edd3f013 Merge remote-tracking branch 'dianne/string-highlighter-fix' 2017-06-21 16:56:06 +01:00
Dianne Wagner
57cb2d0682 apply '"' highlighting fix to haskell as well 2017-06-18 19:18:14 -07:00
Dianne Wagner
3ae0d86b27 rust highlighter: '"' is not the start of a string
this uses the string opening regex from the c-family highlighter to prevent
highlighting the rest of the file as a string on encountering the character
literal '"'
2017-06-18 18:39:45 -07:00
Alex Leferry 2
585778057f Update command names 2017-06-16 13:53:03 +02:00
Frank LENORMAND
cb9a2e562b rc: Fix calls to mktemp
The GNU and BSD implementations differ on several points, this commit
hopefully finds a middle ground.
2017-06-16 11:51:46 +03:00
Frank LENORMAND
9a10d79ae8 rc ctags: Make commands follow the naming convention 2017-06-15 15:40:15 +03:00
Maxime Coste
e73cd78288 Fix corner case in C family indenting 2017-06-13 10:19:38 +01:00
Maxime Coste
398b2b115c Merge remote-tracking branch 'lenormf/fix-tmpdir-modules' 2017-06-12 05:06:14 +01:00
Frank LENORMAND
d113d5232a rc jedi: Don't create an unused debug/log file 2017-06-09 14:30:58 +03:00
Frank LENORMAND
813d09a101 rc: Fix calls to mktemp
Allow `mktemp` to make use of the `TMPDIR` environment variable when
calling it with a template.

Don't use the deprecated `-t` flag.
2017-06-09 14:30:54 +03:00
Alex Leferry 2
105b35192f Add Alacritty 2017-06-08 19:02:44 +02:00
Maxime Coste
81118552c8 Fix missing hook removal command in c-family.kak 2017-06-07 12:44:00 +01:00
Frank LENORMAND
8794687f36 Revert "doc: Fix the documentation of the alt_dirs option"
This reverts commit ef88b28392.
2017-06-04 11:24:10 +03:00
Frank LENORMAND
ef88b28392 doc: Fix the documentation of the alt_dirs option 2017-06-03 21:49:10 +03:00
Maxime Coste
d8a90ad5d3 Merge remote-tracking branch 'danr/Remove-ad-hoc-rules-in-kakrc-highlighter' 2017-06-03 15:16:49 +01:00
Maxime Coste
f3f6ac9e8a Merge remote-tracking branch 'danr/Improve-kakrc-highlighter-with-more-static-words' 2017-06-03 15:16:14 +01:00
Maxime Coste
5b66be26f6 Merge remote-tracking branch 'Delapouite/svg' 2017-06-03 14:44:55 +01:00
Maxime Coste
9d71be769b Rename _grep_current_line option to grep_current_line 2017-06-03 14:04:06 +01:00
Delapouite
2acdafa325 Add SVG detection as xml in file.kak 2017-06-02 15:43:51 +02:00
Maxime Coste
d8cc50ed79 man.kak: Rename _manpage option to manpage 2017-05-27 07:40:47 +01:00
Maxime Coste
ad154e7bb7 Highlight non numeric man sections as well in man.kak 2017-05-27 07:34:35 +01:00
Maxime Coste
0b592c5641 Slight style tweak in doc.kak 2017-05-27 06:14:01 +01:00
Maxime Coste
ca38e10314 Make shell variable expansion in "strings" highlighted the same way as in code 2017-05-25 19:54:08 +01:00
Maxime Coste
f2f04d55fc Make the lint_errors a range-specs option in lint.kak
lint_errors are now maintained up to date with buffer changes.
2017-05-25 19:54:08 +01:00
Maxime Coste
26298e8f7b Use a line-specs for the clang_errors option in clang.kak
That way, we can have it updated when the buffer changes, and get
diagnostics on the correct lines.
2017-05-25 19:54:08 +01:00
Maxime Coste
a84d7cf06b Add break and continue to the list of sh keywords 2017-05-25 19:54:08 +01:00
Maxime Coste
3e4e4f6210 Add support for raw C++ strings in c-family highlighting 2017-05-25 06:51:39 +01:00
Maxime Coste
c4db46b58b Rename line-flags option type to line-specs
Generalize this option type, which is a timestamped list of
<line number>|<arbitrary string>. That way this type is not strongly
coupled with the flag-lines highlighter, and can be reused for other
use cases.
2017-05-24 15:41:43 +01:00
Maxime Coste
a0e63fbe93 Fix man.kak when man pages filenames just end up with the manual section 2017-05-23 13:59:31 +01:00
Maxime Coste
2f9b77b748 Smarter align to opening parenthesis/brace supporting multiline 2017-05-21 22:31:05 +01:00
Maxime Coste
c6508ee101 Merge remote-tracking branch 'lenormf/doc-public-options' 2017-05-21 07:09:37 +01:00
Maxime Coste
e43e44f9cc Commit correct version of c-family indent change 2017-05-21 07:08:20 +01:00
Maxime Coste
cab0adaa53 Support aligning to opening { as well as ( in c-family indent 2017-05-20 11:08:13 +01:00
Maxime Coste
55d1d1020d Merge remote-tracking branch 'lenormf/rc-misc-fixes' 2017-05-19 21:53:02 +01:00
Maxime Coste
803895d581 Merge remote-tracking branch 'danr/Highlight-object-keys-in-yaml' 2017-05-19 21:37:31 +01:00
Maxime Coste
be8692bcdb Merge remote-tracking branch 'danr/Fix-reference-to-kakrc-highlighter-for-markdown' 2017-05-19 21:34:45 +01:00
Maxime Coste
32b415d87d Merge remote-tracking branch 'danr/Add-some-missing-languages-to-comment.kak' 2017-05-19 21:34:27 +01:00
Maxime Coste
eec8239c78 Highlight 'copied' file action in git-commit buffers 2017-05-17 20:19:56 +01:00
Maxime Coste
dfaafcd49a Rename range-faces to range-specs
range-faces are now used to replace-range highlighters, where the string
part is not interpretted as a face but as a display line, so the name was
not relevant anymore.
2017-05-17 19:40:52 +01:00
Frank LENORMAND
d59bafa2c1 rc: Simplify and optimize the alt command 2017-05-16 18:20:19 +03:00
Frank LENORMAND
56837eaece rc: Use POSIX command -v instead of which 2017-05-16 18:20:19 +03:00
Frank LENORMAND
b9cdccd53a rc: Document non-hidden options with -docstring 2017-05-16 14:35:43 +03:00
Dan Rosén
736720f31a Highlight object keys in yaml 2017-05-16 09:30:01 +02:00
Dan Rosén
4f7f7edea0 Add some missing languages to comment.kak 2017-05-16 09:21:30 +02:00
Dan Rosén
5f97117ab4 Remove ad-hoc rules in kakrc highlighter
These are less useful with more static words, and they are
woefully incomplete: no support -docstring for map, set
uses the variable face, but there is no corresponding
highlighter for decl or %opt{..}.
2017-05-15 21:58:57 +02:00
Dan Rosén
1e4958353a Improve kakrc highlighter with more static words 2017-05-15 21:58:57 +02:00
Dan Rosén
80570a0dc7 Fix reference to kakrc highlighter for markdown 2017-05-15 21:58:57 +02:00
Vincent Siliakus
812af8c886 Use only default faces 2017-05-11 18:40:07 +02:00
Vincent Siliakus
848de57f20 Add Elixir highlighter 2017-05-06 08:19:57 +02:00
Frank LENORMAND
9f62c1a552 rc: Use $SHELL instead of spawning bash arbitrarily 2017-04-30 13:38:32 +03:00
Frank LENORMAND
9a138af17f rc: Properly modify tmux's environment with env 2017-04-17 22:55:37 +03:00
Maxime Coste
1f74ca1a4f Merge remote-tracking branch 'lenormf/fix-iterm2' 2017-04-10 20:24:48 +01:00
Frank LENORMAND
a244c10167 rc: Forward $TMPDIR to iterm subprocesses 2017-04-10 22:17:59 +03:00
Frank LENORMAND
b6d055a87b rc: Export $TMPDIR to new tmux processes
`tmux` will start new processes (e.g. when creating panes or windows)
with the same environment it was started with, which means that if the
$TMPDIR variable was overriden for the kakoune server from within
`tmux`, newly created panes/windows won't have access to the server
socket to sustain a session.

This commit fixes the issue by always exporting the $TMPDIR variable
from the parent `tmux` environment to the new processes.

Fixes #1319
2017-04-09 09:20:25 +03:00
Alex Leferry 2
08c4fac07f rc/ranger: use $kak_hook_param_capture_N 2017-04-01 22:46:31 +02:00
Maxime Coste
fa7f29a120 spell.kak: preserve spelling language from :spell in :spell-replace 2017-03-28 08:32:21 +01:00
Maxime Coste
b9317ba38c Change lint.kak column display to put it at the end 2017-03-10 12:41:01 +00:00
Maxime Coste
e888dae787 Merge remote-tracking branch 'kurkale6ka/lint_cols' 2017-03-10 12:28:17 +00:00
Maxime Coste
a0b42323ed Add a -debug flag to :edit to set the buffer as debug data
As for the *debug* buffer, buffers with the debug flag wont get
used for cycling through buffer, or word completion.
2017-03-08 19:33:25 +00:00
Martin Chaine
b5a9979bfb also handle enums explicitly 2017-03-07 09:55:22 +01:00
Martin Chaine
b5f6a9b227 escape pipe from closure in the description 2017-03-06 22:30:59 +01:00
Delapouite
cdb076603c Add Symbol, async and await highlighting for javascript.kak 2017-03-05 19:25:15 +01:00
Maxime Coste
bdb3da6b36 Merge remote-tracking branch 'casimir/patch-1' 2017-03-03 21:33:20 +00:00
Maxime Coste
a0c301ac42 Merge remote-tracking branch 'lenormf/fix-autorestore' 2017-03-03 21:13:53 +00:00