Commit Graph

278 Commits

Author SHA1 Message Date
lePerdu
a5f865a566 Add/fix cross-references for expansions 2019-01-31 08:48:35 -05:00
lePerdu
deda159536 Change "brace" back to "nestable punctuation" 2019-01-30 21:12:48 -05:00
lePerdu
db4bb6788d Make word splitting description more precise 2019-01-30 21:12:39 -05:00
lePerdu
a7320a01aa Specify only lists can expand to multiple args 2019-01-30 16:17:45 -05:00
lePerdu
5a4ba0b35f Update and clarify expansion/quoting docs 2019-01-30 15:46:40 -05:00
Tim Allen
4247cf6def doc: Document the buffer=/path/to/file scope syntax.
Also, make sure all commands that involve scopes link to the scopes
documentation, and refer to the "scope" parameter as `*scope*` for consistency.
2019-01-23 12:34:02 +11:00
Maxime Coste
cb7401439b Kakoune v2019.01.20 2019-01-20 22:52:01 +11:00
Maxime Coste
0e859f54da Update changelog to document regex highlighter change 2019-01-03 22:57:15 +11:00
Maxime Coste
328c497be2 Add support for named captures to the regex impl and regex highlighter
ECMAScript is adding support for it, and it is a pretty isolated
change to do.

Fixes #2293
2019-01-03 22:55:50 +11:00
Frank LENORMAND
ae5c108df8 changelog: Document right click support 2018-12-25 10:54:40 +03:00
Jason Felice
66cec1533a Add quotes to expansions example 2018-12-21 15:19:53 -05:00
Maxime Coste
64f1c31401 Refactor parsing of keys and introduce a builtin key parser mode
By setting the ncurses_builtin_key_parser ui_option to true, we
can disable ncurses parsing of key strokes to get less portable
parsing but support for more complex modifiers.
2018-12-09 21:35:22 +11:00
Maxime Coste
e0b9327a9f Merge remote-tracking branch 'lenormf/fix-trim-selections' 2018-11-27 18:25:14 +11:00
Maxime Coste
31d3cef093 Merge remote-tracking branch 'lenormf/rename-auto_complete' 2018-11-25 23:01:02 +11:00
Maxime Coste
29d4a582d8 Merge remote-tracking branch 'Delapouite/typos' 2018-11-19 20:50:59 +11:00
Maxime Coste
9a68a2d3af Change BufReadFifo hook param to contain the inserted range
the buffer name was not a very interesting information, whereas
the buffer range allows a hook to run only on the appended text
instead of all the buffer.
2018-11-14 17:52:57 +11:00
Delapouite
4c68abab11 doc: fix misc typos for source and region highlighter 2018-11-10 12:12:03 +01:00
Olivier Perret
b96ab67479 Expose selection(s) length with a value 2018-11-08 20:14:33 +11:00
Delapouite
794f84498c doc: complete list of normal commands using default registers 2018-10-28 09:52:33 +01:00
Maxime Coste
3b40ab82f4 Kakoune v2018.10.27 2018-10-27 09:26:50 +11:00
Maxime Coste
e9802bac6f Notify that asciidoc is not a dependency anymore in the changelog 2018-10-23 08:24:08 +11:00
Tim Allen
26e5768207 Be specific about the units of ranges and cursor positions. 2018-10-09 14:31:02 +11:00
Maxime Coste
eba40028b9 Update startup messsage and changelog.asciidoc 2018-10-06 10:55:26 +10:00
Maxime Coste
5bdcfab018 Merge remote-tracking branch 'laelath/shell-command-completion' 2018-10-06 10:47:23 +10:00
Maxime Coste
75a2adb3e5 Move keymap to pages/keymap.asciidoc
As suggested in #2468
Closes #2468
2018-10-06 10:34:39 +10:00
Justin Frank
ab6bc41358 Added shell command completion support to define-command and prompt
This commit also introduces a regression in that I decided that the best way to
avoid overly long and confusing names was to rename the current shell-*
switches to script-*, and have the shell command completion be
shell-completion.

renamed script-{completion,candidates} to shell-script-*

Updated docs with new switch names

Added -shell-completion switch to x11-repl and kitty-repl
2018-10-03 09:46:31 -07:00
Delapouite
1204e7f3fb docs: add <a-m> / <a-M> in changelog and keymap 2018-10-01 18:54:43 +02:00
Maxime Coste
551021d6e5 Merge remote-tracking branch 'lenormf/backward-match' 2018-10-01 11:25:53 +10:00
Maxime Coste
a339bd9b05 Merge remote-tracking branch 'Screwtapello/mapping-command-tips' 2018-10-01 11:08:05 +10:00
Frank LENORMAND
2d44712766 src: Implement <a-m> and <a-M>
Closes #2425
2018-09-30 19:56:37 +03:00
Frank LENORMAND
6b7200e4d5 src: Move <a-m> to <a-_> 2018-09-30 19:45:20 +03:00
Tim Allen
f12ac7164b Make it explicit that buffer-scope items are available in window-scope. 2018-09-28 18:01:17 +10:00
Tim Allen
b57784e06c Spaces around ellipses. 2018-09-28 18:00:20 +10:00
Frank LENORMAND
3d79107773 src: Drop selections that only contain whitespace on _
Fixes #2387
2018-09-27 14:47:26 +03:00
Tim Allen
3c8d160a62 Address code-review comments. 2018-09-27 15:37:38 +10:00
Tim Allen
c7d1ec0a09 mapping.asciidoc: add tips for mappings that trigger commands 2018-09-25 18:42:07 +10:00
Tim Allen
e493eba46d expansions.asciidoc: Rewrite to make Kakoune syntax the primary reference.
Also, moved the "Markup strings" section to faces.asciidoc, since it wasn't
anything to do with expansions, and updated various hyperlinks to point at the
new location.
2018-09-25 18:31:29 +10:00
Eric James Michael Ritz
a2f844cfb4 Improve the documentation for the 'm' key
The GitHub issue referenced below describes the default behavior of
the 'm' key in a way that was unknown to me.  As the issue says,
"'m' is a pretty misunderstood key", and goes on to describe how
the documentation makes it sound as if the cursor must be on the
matching character before 'm' will work.  However, this is not true;
pressing 'm' will jump forward to "select the next sequence enclosed
in balanced chars".  This patch updates the documentation so that it
describes that behavior.

GitHub-Issue: #2425
Special-thanks: Delapouite
2018-09-23 12:43:22 -04:00
Maxime Coste
1631a7d8d9 Replace the Exclusive face attribute with Final
Final is more granular, it consists of FinalFg (f), FinalBg (g)
and FinalAttr (a) which control if a face's fg, bg, or attributes
fully overwrite the previous face (instead of merging) and if
following faces apply on top of this face or not.

Fixes #2388 if the Whitespace face has the FinalFg flag.
2018-09-23 23:27:14 +10:00
Tim Allen
3819304589 hooks.asciidoc: Make sure all parts of the hook command are described.
Also, some minor grammar fixes.
2018-09-22 18:43:56 +10:00
Tim Allen
00bdb041b0 Describe the %val{text} expansion. 2018-09-20 12:46:52 +10:00
Maxime Coste
0c3d9ccd20 Change remove-hooks to take a regular expression
All hooks whose group match this regex will be removed.

Fixes #2380.
2018-09-12 21:26:21 +10:00
Maxime Coste
87a71ec1bd Merge remote-tracking branch 'Delapouite/doc-missing-chars' 2018-09-12 21:00:02 +10:00
Tim Allen
f7d8f7a9e1 docs: Describe which Win* hooks use a draft context.
Also, rewrote the description of WinDisplay since it wasn't obvious to me what
"bound" meant in this context.
2018-09-11 20:56:12 +10:00
Delapouite
afc1aab60a docs: add few missing characters in faces and keys pages 2018-09-09 11:19:45 +02:00
Maxime Coste
d73ec20285 Kakoune v2018.09.04 2018-09-04 08:22:28 +10:00
Maxime Coste
37e2558413 Add readline word erase bindings, throw in clipboard for good measure
Add <c-w> and <a-d> (along with <c-W> and <a-D> that work on WORDs),
and <c-y> which pastes the transient clipboard contant (which saves
big erase, such as word erase and line end/begin erase).

Fixes #2355
2018-09-04 07:55:56 +10:00
Maxime Coste
b581a4fbed Merge remote-tracking branch 'Delapouite/sync-exit-status' 2018-09-03 22:33:20 +10:00
Maxime Coste
ad75d1870c Update changelog with readline bindings change 2018-09-03 22:31:17 +10:00
Maxime Coste
4b7e77ae00 Change line editing bindings to match readline's
In the end, no better solution materialized so far, and custom
Kakoune line editing bindings are hard to remember. Using well
known readline bindings seems just more convenient.

Closes #800, although it does not contain all the binding proposed
by it (I might accept a few additional ones, such as <c-w>, but not
too much, I still see that as a hack pending a nicer solution).
2018-09-03 22:15:28 +10:00
Delapouite
5e75f748a2 docs: add missing -sync and exit status in autoinfo and doc page 2018-09-03 08:25:08 +02:00
Maxime Coste
df655422d1 Merge remote-tracking branch 'Screwtapello/support-user-map-options' 2018-08-30 20:10:00 +10:00
Maxime Coste
872ecd472c Merge remote-tracking branch 'Delapouite/auto_complete' 2018-08-30 20:07:08 +10:00
Shachaf Ben-Kiki
5238c2d93d Extend source command to support parameters.
Parameters are accessible in %arg{n}, as with define-command.
2018-08-30 10:00:13 +02:00
Delapouite
c2bd4b38a0 Add toggling capabilities for <c-o> in Insert and Prompt mode
Ref #2121
2018-08-27 22:08:38 +02:00
Maxime Coste
d99cd3981c Merge remote-tracking branch 'henrebotha/fix-1' 2018-08-27 08:14:28 +10:00
Maxime Coste
8a904b02b9 Merge remote-tracking branch 'Delapouite/write-quit' 2018-08-26 12:13:52 +10:00
Frank LENORMAND
5a066c139e doc options: Make default list values space separated 2018-08-25 15:03:42 +03:00
Delapouite
1f7788375e docs: add missing write-quit command 2018-08-23 18:53:15 +02:00
Henré Botha
aa6d9b8cd5 Fix run-on sentence in options doc 2018-08-22 14:58:11 +02:00
Tim Allen
ede9155fc7 Document which option-types can be used with declare-options. 2018-08-21 18:24:33 +10:00
Tim Allen
49ef9968c0 Support user-defined "str-to-str-map" options. 2018-08-21 18:24:14 +10:00
Delapouite
231e140d37 docs: add -always and -once switch on hooks page 2018-08-16 19:06:57 +02:00
Tim Allen
6315b917dd Mention the default value of the "count" variable. 2018-08-16 00:00:19 +10:00
Maxime Coste
f8198b3022 Fix specs based highlighter documentation
Lists elements are now given as separate arguments rather than
as a single ':' separated string.

Fixes #2261
2018-07-28 19:33:11 +10:00
Frank LENORMAND
21e93ebc11 doc: Fixed a typo in the changelog 2018-07-19 18:57:37 +03:00
Maxime Coste
56912dd22c Merge remote-tracking branch 'icetan/buffer-reload-hook' 2018-07-19 08:29:22 +10:00
Maxime Coste
d23ac09fc1 Add support for <a-;> in prompt mode
Fixes #2096
Closes #2060
2018-07-15 11:17:16 +10:00
Maxime Coste
bde726d034 Change autoshowcompl to auto_complete with insert|prompt possible values 2018-07-15 11:10:32 +10:00
Maxime Coste
58c7b06e1d Document $kak_reg_* changes in the changelog
Closes #2202
2018-07-14 23:37:42 +10:00
Alyssa Ross
ec72108174
Update number-lines name in docs 2018-07-10 16:05:26 +00:00
Christopher Fredén
cb8270feaa
Add documentation of BufReload hook 2018-07-09 14:20:52 +02:00
Maxime Coste
79ec8d0010 Rename highlighters that used an underscore to use a dash
For example `show_matching` is now `show-matching`.
2018-07-08 19:14:15 +10:00
Maxime Coste
a676b26664 Add precisions about command line syntax in changelog 2018-07-05 18:00:26 +10:00
Maxime Coste
63d4c8c311 Change a on end of line behaviour to be consistent
`a` will just jump on next line, `a` on last end of line opens a new
line beneath it.

Fixes #1164
2018-07-05 08:00:14 +10:00
Maxime Coste
2e0e206951 Make recurse regex opt-in with a -recurse switch instead of opt-out 2018-07-05 07:54:28 +10:00
Maxime Coste
6d320328b0 Add highlighter syntax change informations in changelog 2018-07-05 07:54:28 +10:00
Maxime Coste
7976f8289e Update highlighters.asciidoc page to reflect the new syntax 2018-07-05 07:54:28 +10:00
Maxime Coste
eab98c88bd Refactor handling of startup info to make it configurable
A new `status_info_version` option allows user to disable info
message regarding changes that happened at that version or
earlier.
2018-07-05 07:54:28 +10:00
Maxime Coste
30c52eab7e Formatting fix of expansions.asciidoc 2018-07-05 07:54:28 +10:00
Maxime Coste
cc851d5c28 Update Changelog to describe the list syntax overhaul 2018-07-05 07:54:28 +10:00
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
8aba0b3cb4 Change set-register command to take a list of values
Registers are lists of strings, so this make it possible to set
the whole list instead of forcing registers to a single element
when going through the set-register command.
2018-07-05 07:54:28 +10:00
Maxime Coste
4e2e971033 Update commands.asciidoc, options.asciidoc and expansions.asciidoc pages 2018-07-05 07:54:28 +10:00
Maxime Coste
20f70d9177 doc/pages: Add command-parsing.asciidoc to describe command line parsing 2018-07-05 07:54:28 +10:00
Maxime Coste
24d8a58b0d Add -with-hooks to execute-keys and make -no-hooks evaluate-commands specific 2018-07-05 07:54:28 +10:00
Maxime Coste
9082564ab7 Make -with-maps only available for execute-keys command
It does not make a lot of sense to have this switch for
evaluate-commands.
2018-07-05 07:54:28 +10:00
Maxime Coste
5902c7b790 Do not save any registers by default in evaluate-commands 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
Olivier Perret
8edef8b3f1 Add support for regex flag to toggle dot-matches-newline 2018-06-24 12:41:50 +02:00
Maxime Coste
3824da2ad9 Merge remote-tracking branch 'Delapouite/inner-object' 2018-06-19 19:43:28 +10:00
Maxime Coste
98c67fa9e0 Merge remote-tracking branch 'Delapouite/window-scope' 2018-06-19 19:42:26 +10:00
Maxime Coste
a9b1c8f2d7 scopes.asciidoc: Remove spurious whitespace from some link text 2018-06-19 07:42:48 +10:00
Delapouite
c0c7b6590f docs: add more explanation about the ambiguous "window" scope.
The info are currently burried in a hard to find wiki page:
https://github.com/mawww/kakoune/wiki/The-window-scope
2018-06-04 11:12:58 +02:00
Delapouite
8ca98da1cb docs: add missing <a-{> <a-}> <a-[> and <a-]> keys 2018-06-03 10:29:52 +02:00
Delapouite
b60ed6ca53 docs: fix missing ] in wrap hl -marker switch docstring
Also add the related changelog entry
2018-05-30 18:11:19 +02:00
Maxime Coste
a9193840ad Merge branch 'patch-3' of git://github.com/co-dh/kakoune 2018-05-27 07:21:51 +10:00
Hao Deng
1a348f3d22
Update highlighters.asciidoc
Is this what you want? first time use asciidoc
2018-05-26 17:07:04 -04:00
Maxime Coste
f1c1de834a Add a -marker <marker_text> switch support to the wrap highlighter
This makes wrapped lines very explicit.

Fixes #2065
2018-05-26 22:22:00 +10:00
Hao Deng
f7914d8662
plus sign missed 2018-05-25 21:12:03 -04:00
Delapouite
43745a8fb2 docs: Add more info about which keys use a default register 2018-05-25 09:15:07 +02:00
Maxime Coste
36e7e93f78 Fix formatting in highlighters.asciidoc 2018-05-23 08:19:50 +10:00
Matt Peterson
651501e983
Fix add-highlighter ref 2018-05-21 14:35:43 -04:00
Maxime Coste
ec0f8fe574 Extend try command to support multiple catches.
If a catch command fails, and another catch is availabe following
it, that following catch gets executed.
2018-05-19 14:15:16 +10:00
Maxime Coste
60aef5e16d Add a changelog.asciidoc doc page
changelog.asciidoc should track major/breaking changes between
versions.
2018-05-19 14:15:16 +10:00
Maxime Coste
14d12fac04 Rename -allow-override switch to -override
Closes #2057
2018-05-19 14:15:16 +10:00
Delapouite
592ab71048 Docs: regroup faces dealing with specific highlighters 2018-05-19 14:15:16 +10:00
Samuel Rødal
0c4f0b7a3f doc: Fix documentation referring to debug buffer as scratch buffer 2018-05-11 17:52:19 +07:00
Delapouite
408c3d6957 Docs: homogenize "selections" idiom in keys.asciidoc 2018-05-07 10:58:58 +02:00
Delapouite
8b00d763e0 Docs: add exhaustive list of scoped objects 2018-04-28 17:41:24 +02:00
Delapouite
9f852652ee Docs: fix rotate content example 2018-04-19 18:55:41 +02:00
Maxime Coste
99fea9c0f9 Fix typo
Thanks @lenormf
2018-04-12 21:28:15 +10:00
Maxime Coste
5fa19f4d7f NCursesUI: Add support for shifted function keys
Shifted function keys are not well standardized around terminals,
Shift F(N) usually returns F(X) + N, with X=12 on xterm, X=10 on
rxvt-unicode... Default to X=12 and make it configuable through
the ncurses_shift_function_key ui_option.

This fixes what #1898 tried to.
2018-04-11 20:39:57 +10:00
Tim Allen
50e422659b Add support for the shift modifier.
Because keyboard layouts vary, the shift-modifier `<s-…>` is only supported
for special keys (like `<up>` and `<home>`) and for ASCII lowercase where
we assume the shift-modifier just produces the matching uppercase character.
Even that's not universally true, since in Turkish `i` and `I` are not an
uppercase/lowercase pair, but Kakoune's default keyboard mappings already
assume en-US mappings for mnemonic purposes.

Mappings of the form `<s-x>` are normalized to `<X>` when `x` is an ASCII
character. `<backtab>` is removed, since we can now say `<s-tab>`.
2018-04-11 15:15:45 +10:00
Maxime Coste
d571c207e6 Make version available through $kak_version and debug info 2018-04-09 17:06:02 +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
Delapouite
2d775921bc Docs: describe the -add switch of set-option 2018-04-05 11:35:03 +02:00
Maxime Coste
6ee68b5b08 Merge remote-tracking branch 'Delapouite/asciidoc' 2018-04-04 21:09:57 +10:00
Maxime Coste
6ee60ff9d7 Prompt: add <a-!> to expand the typed expansions in current line
Fixes #1952
2018-04-04 11:00:25 +10:00
Delapouite
f2837442fc Docs: fix asciidoc list formatting issue 2018-04-03 13:33:30 +02:00
Delapouite
2b457c62b2 Docs: add short mention about "named pipe" in fifo section 2018-04-03 10:20:56 +02:00
Frank LENORMAND
566dc1f26b doc highlighters: Don't hardcode timestamps 2018-03-31 09:18:59 +03:00
Delapouite
153fbdcc33 Docs: add missing * for -buffer switch of exec/eval 2018-03-27 08:21:31 +02:00
Maxime Coste
ec7f3738ee Move rotate selection and rotate selection contents to ) and <a-)>
Backward rotation are supported with (.

Fixes #1210
2018-03-25 11:39:26 +11:00
Delapouite
ecd6cebdab Docs: add %/ token to default path option 2018-03-23 10:24:18 +01:00
Maxime Coste
1cdeace128 Merge remote-tracking branch 'Delapouite/doc-commands' 2018-03-21 06:42:31 +11:00
Delapouite
00cb49438a Docs: add missing [<switches>] in commands signatures 2018-03-20 09:13:09 +01:00
Maxime Coste
e444cd3937 Merge remote-tracking branch 'lenormf/contrib-tmux-truecolor' 2018-03-20 05:28:53 +11:00
Maxime Coste
eee4576743 Merge remote-tracking branch 'Delapouite/scopes' 2018-03-12 11:53:43 +11:00
Delapouite
5ba8293d2b Docs: fix formatting and add explanation about "current" scope. 2018-03-11 18:07:13 +01:00
Maxime Coste
11d6aefc91 Merge remote-tracking branch 'Delapouite/keys' 2018-03-11 12:09:02 +11:00
Maxime Coste
4584ecac77 Move WORD text object to <a-w>
It improves consistency and it looked like there was support for that
change on github.
Fixes #1861
2018-03-10 00:25:19 +11:00
Maxime Coste
f801d0064a Merge remote-tracking branch 'Delapouite/hls' 2018-03-10 00:07:03 +11:00
Delapouite
07572ca6d7 Docs: fix typo for prompt mode <a-l> 2018-03-09 09:22:06 +01:00
Delapouite
abc2d28570 Docs: extend explanations about line_flags, ranges and replace-ranges 2018-03-06 12:15:55 +01:00
Delapouite
950e24949a Docs: add missing insert mode <c-x>L in docs 2018-03-05 08:47:28 +01:00
Maxime Coste
4ab8125de1 pages/hooks.asciidoc: Document GlobalSetOption 2018-03-05 11:20:17 +11:00
Delapouite
c4eb4438d2 Remove <scope> from user-modes commands 2018-03-02 09:28:27 +01:00
Maxime Coste
34c7db0ea7 pages/modes.asciidoc: Tweak wording 2018-03-01 14:38:41 +11:00
Maxime Coste
dcab629895 Merge remote-tracking branch 'Delapouite/modes' 2018-03-01 14:09:20 +11:00
Delapouite
a6a1c34288 Add -lock switch to enter-user-mode command 2018-02-27 19:55:00 +01:00
Delapouite
c2541dbfe2 Docs: add modes page 2018-02-24 12:05:21 +01:00
Maxime Coste
6a6e71dc0f Highlight cursors differently when they lie on an end of line
When on an end of line, certain behaviours can be surprising, for
example delete will join the following line (which makes sense, and
is consistent, but hard to predict if we do not know the cursor is
on and end of line).

As Kakoune is moving more and more towards treating end of lines
as any other character, making it clear when the cursor lies on
them seems like a good way to reduce surprise.
2018-02-24 21:32:01 +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
Frank LENORMAND
84017a7917 faq: Document how to render colors properly in tmux 2018-02-23 20:54:40 +03:00
Olivier Perret
48912a21d3 document 'register' value 2018-02-22 21:47:34 +01:00
Maxime Coste
61c627135a doc pages: Document kak_token_to_complete and kak_pos_in_token
Fixes #1845
2018-02-22 22:46:35 +11:00
Maxime Coste
99d1fee44c Merge remote-tracking branch 'Delapouite/trim' 2018-02-22 22:06:27 +11:00
Delapouite
fccfc76e89 Add trim_selections primitive 2018-02-13 14:35:10 +01:00
Delapouite
6b447a0ecb Add declare-user-mode / enter-user-mode commands 2018-02-12 14:19:58 +01:00