Commit Graph

379 Commits

Author SHA1 Message Date
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
Maxime Coste
9c25e955df Use '/' register as the default register for <a-k> and <a-K>
Fixes #1808
2018-01-26 14:15:18 +11:00
Maxime Coste
b677797b92 Document the availability of shell expansions in normal mode
Fixes #1805
2018-01-23 15:59:46 +11:00
Maxime Coste
d22c989984 Rename InputModeChange hook to ModeChange
InputModeChange is a bit long to type and its pretty clear in Kakoune
that "Mode" means "Input mode", so use a shorter and as clear name.
2018-01-21 10:34:09 +11:00
Maxime Coste
07dfcd336d Fallback to getpwuid in the unlikely case $HOME is underfined
Add a homedir() helper function, and document the $kak_config
env var.
2018-01-20 11:19:23 +11:00
Delapouite
74898120ed Add session name filtering for KakBegin hook 2017-12-21 22:22:33 +01:00
Maxime Coste
e0b28fa421 Introduce InputModeChange hook
InputModeChange <old mode>:<new mode> is intended to replace the various
<Mode>Begin/<Mode>End hooks.

Fixes #1772
2017-12-18 11:09:54 +11:00
Delapouite
70394ae248 Docs: homogenize and emphasize hooks filtering text 2017-12-16 15:31:31 +01:00
Maxime Coste
f950fe3376 hooks.asciidoc: Fix few rendering problems 2017-11-28 19:40:07 +08:00
Delapouite
9c5fa1d68b Docs: fix typo avance → advance in keys 2017-11-25 17:18:12 +01:00
Maxime Coste
ec6ecd5772 Add an InsertCompletionSelect hook
InsertCompletionSelect will be called whenever the selected insert
completion changes. If the original text is selected back, the hook
parameter will be empty. If another candidate is selected, the hook
parameter will be its text content.

Fixes #1676
2017-11-25 13:57:47 +08:00
Maxime Coste
706c1672d5 Normal: add <a-S> to select first and last char of selection
Fixes #550
2017-11-13 17:36:04 +08:00
Maxime Coste
1f02a1f7e2 Doc pages: Use passive form, never address the reader as 'you'
Except for the FAQ, it could be fixed, but it does not have to be
as formal as the rest of the docs.
2017-11-12 22:44:04 +08:00
Maxime Coste
9af08b768e Merge remote-tracking branch 'Delapouite/README' 2017-11-12 22:34:31 +08:00
Delapouite
7261dba7ed Docs: add a new buffers.asciidoc to move over FIFO parts from README 2017-11-11 10:22:25 +01:00
Delapouite
3c17aa32b5 Docs: add README links to marks, jumps, objects, macros and macros keys 2017-11-10 18:06:38 +01:00
Delapouite
a1836b47a4 Docs: use full names for exec/eval and add links to relevant pages 2017-11-08 18:38:31 +01:00
Delapouite
3588369ad5 Docs: group commands in common sections 2017-11-08 13:29:36 +01: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
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
Delapouite
3b250fe824 Docs: use asciidoc links between pages 2017-11-06 10:08:59 +01:00
Maxime Coste
7f51e51fcb Introduce matching_pairs option that controls the pairs used by m 2017-11-04 15:53:53 +08:00
Maxime Coste
20fe8e0112 options.asciidoc: use _italic_ for default values 2017-11-02 17:42:44 +08:00
Maxime Coste
4c3d36f9fe documentation pages: Remove tabs 2017-11-02 17:37:39 +08:00
Maxime Coste
3c2159f06c options.asciidoc: Document other option commands, remove tabs 2017-11-02 17:36:10 +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
6f2088cbc4 Wrap: Add -indent switch support that wraps preserving line indent 2017-11-02 01:28:28 +08:00
Maxime Coste
6bc408e9b9 Remove duplicated documentation from the README
Just point towards the relevant doc page.
2017-11-01 19:49:13 +08:00
Maxime Coste
ed65d86c72 Rename doc/manpages to doc/pages
That fact we use man for these is an implementation detail.
2017-11-01 19:05:37 +08:00