Maxime Coste
27163106c7
Make register expansions expand to the full register content
...
Now that we have a nice standard way to express lists of strings,
registers can be fully exposed. An new $kak_main_reg_... env var
was added to provide the previous behaviour which is relied on by
doc.kak.
2018-07-05 07:54:28 +10:00
Maxime Coste
a6ba65c121
doc.kak: Fix post list syntax refactoring
2018-07-05 07:54:28 +10:00
Maxime Coste
2729042f83
Fix c-family.kak static_words definition
2018-07-05 07:54:28 +10:00
Maxime Coste
e9fc54538d
Convert some of the rc/ scripts to the new list syntax
...
Other scripts relying on lists are broken at the moment, and will
be fixed. This commit is a proof of concept of the new way to work
with lists.
2018-07-05 07:54:28 +10:00
Maxime Coste
cad5f37efd
Fix register saving post -save-regs behaviour change
2018-07-05 07:54:28 +10:00
Maxime Coste
ec16969609
Do not reparse %sh{...} strings
...
Automatic reparsing of %sh{...}, while convenient in many cases,
can be surprising as well, and can lead to security problems:
'echo %sh{ printf "foo\necho bar" }' runs 'echo foo', then 'echo bar'.
we make this danger explicit, and we fix the 'nop %sh{...}' pattern.
To reparse %sh{...} strings, they can be passed to evaluate-commands,
which has been fixed to work in every cases where %sh{...} reparsing
was used..
2018-07-05 07:54:28 +10:00
Maxime Coste
86616c207d
Merge remote-tracking branch 'lenormf/synchronized-write'
2018-07-04 19:46:40 +10:00
Frank LENORMAND
ab2eade28d
rc: Synchronize important file writes
...
Fixes #2178
2018-07-04 09:55:05 +03:00
Maxim Baz
44f0230fe1
Add missing python3 keyword: nonlocal
2018-07-02 23:28:25 +02:00
Maxim Baz
7cfd0d1b39
trigger travis
2018-06-29 01:37:56 +02:00
Maxim Baz
d8a2588e9c
another attempt to fix macOS issue
2018-06-29 01:22:17 +02:00
Maxim Baz
c683b09287
Rename align-cursors-left to align-selections-left
2018-06-29 00:56:37 +02:00
Maxim Baz
5d689858df
Improve comment-line command
2018-06-28 23:47:48 +02:00
Tim Allen
3d0c19f8fb
Prevent the :format command from triggering hooks.
...
The :format command is often called from a BufWritePre hook to format the
current buffer, however the :format command itself calls `:write` to store the
buffer in a temporary location, potentially causing an infinite recursion.
If we disable hooks while running :format, there's no danger of that occurring.
2018-06-20 21:11:58 +10:00
Delapouite
5305c6b1ff
Add 'nop' keyword highlighting in .kak files
2018-06-01 10:46:05 +02:00
Delapouite
bbf484c596
Limit highlighter to line in grep buffers
2018-05-30 14:40:29 +02:00
Alyssa Ross
08c948f52b
Insert spaces after line comment markers
...
Every other text editor I've ever used does this, and this makes Kakoune
consistent with how comments work in e.g. its own source code.
2018-05-22 12:24:54 +01:00
Maxime Coste
8c6af54db3
c-family.kak: Fix comment line continuation behaviour
...
Fixes #2043
2018-05-19 14:15:16 +10:00
Maxime Coste
8e1646b702
c-family.kak: Remove unneeded itersel
...
itersel can get very expensive with many selections, it should only
be used when necessary.
2018-05-17 07:41:32 +10:00
gspia
bbd1fd6576
Comments for Idris
2018-05-04 10:22:17 +03:00
Maxime Coste
869736359a
Make all fifo cleanup hooks run always
...
Those should not get prevented from running just because the user
disabled hooks, they are important for cleanup.
2018-04-26 08:31:36 +10:00
Maxime Coste
f99f0020dc
Fix (again) C++ raw string highlighting
2018-04-25 21:19:04 +10:00
Maxime Coste
fea6bc9524
c-family.kak: Fix highlighting of raw strings
2018-04-22 09:40:45 +10:00
Maxime Coste
57baad4afd
Make FaceRegistry scoped
...
set-face now takes a scope argument, and faces can be overridden on
a buffer or window basis.
colorscheme apply on global scope, which should be good enough for
now.
Fixes #1411
2018-04-07 16:27:50 +10:00
Maxime Coste
8eee5500ea
Revert "Simplify comment-line command using trimming primitive"
...
This reverts commit e661fece72
.
2018-03-30 09:29:05 +11:00
Maxime Coste
4a2125f752
make.kak: Fix Ninja compatibility for directory entering messages
2018-03-30 09:18:06 +11:00
Delapouite
e661fece72
Simplify comment-line command using trimming primitive
2018-03-27 19:53:13 +02:00
Frank LENORMAND
66f99a3802
rc kakrc: Highlight boolean values
2018-03-25 10:27:12 +03:00
Maxime Coste
42404ddb3a
Merge remote-tracking branch 'Delapouite/kakrc'
2018-03-23 07:42:38 +11:00
Delapouite
754a96eb3e
Add hl for declare-user-mode and enter-user-mode in kakrc.kak
2018-03-22 15:08:59 +01:00
gspia
056560131a
Add a space to haskell commment-line comment string.
2018-03-22 13:56:07 +02:00
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
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
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
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
f8861734cf
rc/: Replace simple uses of sed with tr
2018-02-18 15:00:30 +11: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
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
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
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
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
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
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
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
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
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
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
Maxime Coste
6740e3cc0c
Add some more keywords to kakrc highlighting
2017-10-21 18:48:35 +08:00
Dan Rosén
5b0f070300
Improve kakrc highlighter
2017-10-21 10:08:50 +02: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
Maxime Coste
902724e558
c-family: auto close unions with a semicolon as well
2017-09-18 09:41:26 +09:00
Maxime Coste
420c6aca23
Change documentation directory towards $kak_runtime/doc
2017-08-03 15:00:02 +07: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