Commit Graph

8435 Commits

Author SHA1 Message Date
Maxime Coste
60dda1a597 Handle SIGTERM as a graceful exit, similar to the :kill! command
Do not backup modified files, go through graceful destruction of
singletons.

Fixes #3528
2020-07-07 20:41:40 +10:00
SolitudeSF
91914a8501
Fix syntax errors. 2020-07-06 14:55:54 +03:00
Simon Fowler
b875a1802c Implement smarter detection of windowing environments.
This patch centralises the loading of windowing environments, in order
to ensure that by default only a single module is loaded, rather than
the current code which can load multiple potentially incompatible
modules; and in order to provide the user with more control over the
loading of windowing modules.

The patch introduces a new str-list option `windowing_modules` which
defines an ordered list of windowing modules to attempt to load. Modules
are loaded in the order specified in the list until a module loads
without error, at which point the process finishes.

When loaded each windowing module tests the environment to determine
whether it should load (e.g. the tmux module tests to see if it's being
run within a tmux session), and if it determines that it should then it
completes its loading without error. If it doesn't detect an appropriate
environment then it returns an error, and the module loading logic tries
the next module.

The user can override the default `windowing_modules` list to specify
their preferred modules (i.e. they can put kitty ahead of tmux if that's
their preference, or they can leave out the x11 modules alltogether). In
addition, if the `windowing_modules` option is an empty list this
bypasses the environment detection logic completely, and allows the
modules to be loaded manually - this allows a user to replace the
windowing module loading logic with their own manual set up.
2020-07-05 22:48:31 +10:00
Maxime Coste
8abf18209e Fix selections getting unsorted on scroll
Fixes #3478
2020-07-05 10:13:57 +10:00
Thayne McCombs
dcab7d7485 Thayne McCombs Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain.  I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors.  I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
2020-07-04 00:28:51 -06:00
Thayne McCombs
881c7b9f15 Add comment highlighting and options for asciidoc.
Fixes #3068.
2020-07-04 00:28:51 -06:00
Maxime Coste
f2cc7bc891 Add User hook support 2020-07-04 13:48:27 +10:00
Maxime Coste
e509a8e9cd Merge remote-tracking branch 'Screwtapello/document-file-expansion' 2020-07-03 21:08:10 +10:00
Maxime Coste
78fd817d9f Merge branch 'patch-1' of http://github.com/beardedsakimonkey/kakoune 2020-07-03 21:07:44 +10:00
Maxime Coste
1ca1e8fedc Merge branch 'master' of http://github.com/philgee1981/kakoune 2020-07-03 21:07:04 +10:00
Philman
63c4336a3c
finetuned the :send-text command
See discussions on [github](https://github.com/philgee1981/kakoune/pull/1) and on [the kakoune message board](https://discuss.kakoune.com/t/trying-to-run-kakoune-repl-with-st-and-dwm/1122/3)
2020-07-03 06:46:41 +02:00
beardedsakimonkey
0e4f6a69fd
Fix example in README 2020-07-01 21:22:58 -07:00
Tim Allen
14573244d4 expansions.asciidoc: Add an example of file expansion.
Properly speaking, all expansions are of the form "%abc{}" where "abc"
is the expansion type. All expansion types are listed in the documentation, as
they should be. However, when searching through the documentation, a keyword
like "file" is likely to hit a lot of false-positives, so a smart user is likely
to search for the more-unique "%file" instead. Unfortunately, unlike every other
expansion-type, file-expansions did not include an example, so a search for
"%file" resulted in no hits, potentially leading people to believe it was
undocumented.

Now there's an example, so people searching for "%file" will find what they're
looking for.
2020-07-01 23:47:06 +10:00
Igor Böhm
d79b005323 Fix 'error: non-constant-expression cannot be narrowed...'
ncurses_ui.cc:759:59: error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'Key::MouseButton' in initializer list [-Wc++11-narrowing]
                return mouse_button(mod, Key::MouseButton{code}, coord, c == 'm');
                                                          ^~~~
2020-06-28 23:32:12 +02:00
Maxime Coste
d3374e7e5f Refactor mouse press/release handling to support 3 buttons
Change button to be an additional parameter instead of having separate
events for left/right buttons.

Fixes #3471
2020-06-28 19:48:55 +10:00
Maxime Coste
fc3e5ea419 Refactor how InsetCompletionHide hook parameter is computed
Keep track of inserted ranges instead of trying to re-derive them.

Fixes #3556
2020-06-27 13:33:50 +10:00
Maxime Coste
099b83d922 Merge remote-tracking branch 'alexherbo2/eruby' 2020-06-25 21:05:15 +10:00
Maxime Coste
14ba5e38ce Merge branch 'python_fix_highlight' of https://github.com/m-kru/kakoune 2020-06-25 21:02:52 +10:00
Maxime Coste
e989bda964 Merge remote-tracking branch 'lenormf/fix-changelog' 2020-06-25 20:58:57 +10:00
Maxime Coste
f5127f8b22 Merge remote-tracking branch 'lenormf/key-percent' 2020-06-25 20:58:26 +10:00
Maxime Coste
42af5e1f9e Merge remote-tracking branch 'lenormf/fix-3432' 2020-06-25 20:57:35 +10:00
Maxime Coste
edd0d2d0ef Merge remote-tracking branch 'eraserhd/more-r7rs-scheme-fixes' 2020-06-25 20:53:12 +10:00
Maxime Coste
b31f3c266f Merge remote-tracking branch 'ii8/master' 2020-06-25 20:52:52 +10:00
Johannes Altmanninger
7e50bdbf2f fish.kak: do not treat escaped quotes as region start
Just like in sh.kak, for example:

	echo \" \\\" this should not be highlighted
2020-06-25 00:28:07 +02:00
Murray Calavera
22a94b9d35 Add highlighters for Standard ML 2020-06-23 19:22:35 +01:00
Murray Calavera
884f21ab91 Murray Calavera Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain.  I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors.  I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
2020-06-23 12:44:11 +01:00
Jason Felice
c08e676aaf scheme.kak: fixes for r7rs word characters
Was missing _ and @ in various places.
2020-06-17 15:51:47 -04:00
Maxime Coste
8b3696982f Merge remote-tracking branch 'caksoylar/lint-tools' 2020-06-16 19:10:39 +10:00
Maxime Coste
5c02bb2030 Merge remote-tracking branch 'eraserhd/detect-mime-script-types' 2020-06-16 19:10:01 +10:00
Maxime Coste
84eab0f58b Merge branch 'fredg0-patch-1' of http://github.com/fredg0/kakoune 2020-06-16 19:09:19 +10:00
Maxime Coste
d4487d3bfc A module is not loaded after failing during load
distinguish the loading from loaded state, detect recursive loading.
2020-06-16 19:08:10 +10:00
Fred. G
df84a41e06
Update OpenBSD's README tip
I have made an OpenBSD port. It is now available for -current.
2020-06-15 10:18:46 +02:00
Jason Felice
bdd7ea6a03 Detect text/x-script.* and application/x-* types 2020-06-12 11:29:55 -04:00
Cem Aksoylar
28be53fb39 Make lint.kak utilize toolsclient 2020-06-10 22:39:11 -07:00
Maxime Coste
74e3e5efd3 Drain ui-out to avoid deadlock with small pipe buffers 2020-06-10 09:26:32 +10:00
Maxime Coste
2544f97c89 Merge remote-tracking branch 'eraserhd/update-scheme-kak' 2020-06-09 21:40:20 +10:00
Maxime Coste
fcc4db3ee5 Merge remote-tracking branch 'caksoylar/fix-colors' 2020-06-09 21:38:54 +10:00
Maxime Coste
f75d49e9ef Do not include non-primitive option value in *SetOption hook filter
Only include the value for int/str/bool options, for the rest just
write '<option name>=...'.

This should reduce the cost of some patterns such as repeatedly adding
a value inside a list option.

It seems very unlikely that the actual value would be matched by
a hook regex string for non primitive types.
2020-06-09 21:38:47 +10:00
Jason Felice
d75792bddd Improve scheme mode
* Add r7rs functions, keywords, etc.
* Add highlighting for decimal, hex, octal, binary constants
* Add missing word characters
* Resolve several issues with word boundaries
2020-06-08 09:17:58 -04:00
Maxime Coste
66f15cf4ad Fix select wiping captures
It turns out `v = std::move(v)` with v a std::vector is not a no-op,
it clears the vector.
2020-06-07 14:12:54 +10:00
Cem Aksoylar
34ef500930 Fix-up github 2020-06-05 18:39:21 -07:00
Cem Aksoylar
cca886af4d Fix-up tomorrow-night 2020-06-05 17:50:44 -07:00
Alex Leferry 2
ceb859271f Add support for eRuby
http://www2a.biglobe.ne.jp/~seki/ruby/erb.html
2020-06-03 15:12:51 +02:00
Frank LENORMAND
61366fd1ef rc man: Handle early window resize
If the window gets resized before the `man` command is called, the
hook will error out and display an error.

Fix #3432
2020-06-03 15:47:46 +03:00
Frank LENORMAND
24c5169400 src: Introduce a <percent> named key
Similarly to the <semicolon> key, make it easier to write
`:execute-keys` commands by replacing <percent> with `%`.

Highlighters can keep escaping the sign when regular expressions are
not quoted, but built-in scripts that use `%` as an editing primitive
have been modified to use the named key, for clarity.
2020-06-03 15:42:38 +03:00
Frank LENORMAND
fb05adb75c doc changelog: Update the changelog 2020-06-03 15:05:19 +03:00
Maxime Coste
a56a03c454 Merge branch 'patch-3' of https://github.com/m-bdf/kakoune 2020-06-02 18:47:13 +10:00
Maxime Coste
d32d185d48 Merge remote-tracking branch 'pickfire/rust-doctests' 2020-06-02 18:44:53 +10:00
Maxime Coste
d43b6799cf Merge remote-tracking branch 'pickfire/rust-dedent' 2020-06-02 18:40:09 +10:00
Ivan Tham
12cafe3ed4 Rust dedent { after where clause 2020-06-02 00:26:47 +08:00