Commit Graph

7349 Commits

Author SHA1 Message Date
Olivier Perret
84da1911be Attempt to create iterm-terminal commands 2018-12-22 09:37:03 +01:00
Olivier Perret
74d1dc756a Only accept one parameter to 'terminal' commands
Also explicitly state that they're executed in a shell scope
2018-12-22 09:37:01 +01:00
Olivier Perret
c8403624a7 Expose a 'terminal' command for the various windowing systems
It allows plugins to create generic terminal using the user's preferred windowing system
For example, it can be used to run fzf, gdb or simply a shell.

* 'new' commands are refactored to simply use the 'terminal' one
* style and docstrings has been unified
* all windowing systems go through "sh -c" for consistency purposes, even if unnecessary
2018-12-22 09:36:34 +01:00
Maxime Coste
7b847f20dd Merge remote-tracking branch 'eraserhd/quote-eval-set' 2018-12-22 17:21:30 +11:00
Maxime Coste
a577e80092 Merge remote-tracking branch 'lenormf/right-click-support' 2018-12-22 17:14:46 +11:00
Jason Felice
66cec1533a Add quotes to expansions example 2018-12-21 15:19:53 -05:00
Frank LENORMAND
b1f5639d8c src: Add support for right click events
The current implementation treats left mouse button clicks as a
generic "mouse press" modifier, this commit extends the list of
modifiers by adding a "right mouse click" one.

The proper way to implement this would be to ship the coordinates
of mouse key press events in each `Key` object, and pass whichever
button was clicked as a codepoint value (instead of coordinates
currently), but this would require more work.

This commit allows:

* right clicks to set the cursor of the main selection
* control-right clicks to merge all the selections, and then set
  its cursor

Fixes #843
2018-12-20 14:32:18 +03:00
Olivier Perret
6f9e297def Revert cosmetic hook order change
The order in which they're run actually matters
2018-12-20 19:15:40 +11:00
Maxime Coste
cb798fa369 Merge remote-tracking branch 'occivink/trim-indent-cleanup' 2018-12-19 20:50:33 +11:00
Olivier Perret
f085e43bf9 Unify auto-indent trimming hooks
* ModeChange hooks that remove indent now belong to *-trim-indent groups, instead of just -indent
* *-filter-around-selections hooks and commands have been renamed to trim-indent for clarity
2018-12-19 10:20:11 +01:00
Olivier Perret
d8466f0f39 c-family.kak: remove redundant -family in hook groups 2018-12-19 10:03:37 +01:00
Maxime Coste
1c7a124339 Merge branch 'improve-readme' of http://github.com/jbrains/kakoune 2018-12-19 19:34:15 +11:00
Maxime Coste
1a280e91c7 Add support for 'sanitizers=...' make option
Use make sanitizers=undefined,address to enable undefined and address
sanitizers.

Closes #2596
2018-12-19 19:31:04 +11:00
Maxime Coste
ef3419edbf Do not pass thread to failed/consumed, capture it implicitely 2018-12-19 19:16:14 +11:00
Maxime Coste
0b9f782691 Take iterators by const-ref in ThreadedRegexVM::exec 2018-12-19 19:14:42 +11:00
J. B. Rainsberger
39c8d05cfa Clarified the difference between movement 'f' and 't'. 2018-12-18 07:30:55 -05:00
J. B. Rainsberger
dff86ce195 Minor improvements: grammar and spacing. 2018-12-18 07:28:14 -05:00
J. B. Rainsberger
b590fad7ef Made it easier to notice instructions for extending the selection. 2018-12-18 07:27:40 -05:00
Muffindrake
bcb87279e5 Remove accidental line paste 2018-12-15 10:30:53 +01:00
Muffindrake
2e141d2c2c Add atomic type qualifier and atomic_flag type 2018-12-15 09:54:22 +01:00
Muffindrake
bbd34de26c Add missing stdlib macro highlighting and uchar types 2018-12-15 09:33:46 +01:00
Maxime Coste
d2f2c3d0c7 Generate a coredump on quit due to SIGSEGV 2018-12-13 21:29:33 +11:00
Maxime Coste
e49a0d2581 doc.kak: Do not join together bullet lists
Fixes #2610
2018-12-13 19:36:23 +11:00
Frank LENORMAND
9b9aedd175 rc lint: Prevent diagnostics from being expanded
Fixes #2629
2018-12-13 10:42:52 +03:00
Maxime Coste
0e1e0fc57b Improve deindent behaviour with mixed indent 2018-12-13 17:35:16 +11:00
Maxime Coste
f7ab129e53 Remove support for 8-bit CSI as it breaks utf8 input
Fixes #2630
2018-12-12 19:10:28 +11:00
Maxime Coste
b929b94bfc Merge remote-tracking branch 'lenormf/fix-makefile-test-rule' 2018-12-11 22:11:55 +11:00
Maxime Coste
527e28539e Merge remote-tracking branch 'occivink/cleanup-hook-once' 2018-12-11 10:39:24 +11:00
Olivier Perret
27f951638c Execute cleanup hooks on any filetype change 2018-12-11 00:35:57 +01:00
Olivier Perret
93c308ca53 Fixes to d.kak and moon.kak 2018-12-11 00:13:30 +01:00
Olivier Perret
f5a2ded44b Change cleanup of extra/ languages to use a simpler hook -once 2018-12-11 00:13:30 +01:00
Olivier Perret
898d45f5d5 Change cleanup of base/ languages to use a simpler hook -once 2018-12-11 00:13:30 +01:00
Olivier Perret
6765723c68 Change cleanup of core/ languages to use a simpler hook -once 2018-12-11 00:13:30 +01:00
Maxime Coste
8498fe497d Merge remote-tracking branch 'lenormf/fix-git-insn' 2018-12-11 08:56:06 +11:00
Frank LENORMAND
f8d660027b rc git: Support the break instruction 2018-12-10 20:10:05 +03:00
Maxime Coste
c6f98f8483 Fix compilation error 2018-12-09 22:05:32 +11:00
Maxime Coste
10163488c1 Merge branch 'patch-1' of http://github.com/gnull/kakoune 2018-12-09 21:51:15 +11: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
1670a7514a NCursesUI: Handle CSI in 8-bit mode as well 2018-12-09 11:20:03 +11:00
Maxime Coste
e90e77e5fc Merge remote-tracking branch 'jeapostrophe/master' 2018-12-09 10:33:44 +11:00
Maxime Coste
1875ff51a0 Gather the list of hooks to run before running the parent
This will prevent hooks added by the parent hook manager to be
gathered, as was decided during the discussion for #2603
2018-12-09 10:07:40 +11:00
Ivan Oleynikov
48249ea818
Very minor grammar fix
Probably, the extra «s» at the end of «exist» was added accidentally. A verb after «does not» in Present Simple definitely shouldn't have this extra «s».
2018-12-08 18:59:13 +03:00
Jay McCarthy
c0be01ac0f Jay McCarthy 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.
2018-12-07 16:34:49 -05:00
Jay McCarthy
dde81019a2 Fix dumb typo 2018-12-07 16:33:35 -05:00
Jay McCarthy
f36a2870b8 Simplify re: lenormf 2018-12-07 16:33:35 -05:00
Jay McCarthy
4cac29d98c Update re lenormf's comments 2018-12-07 16:33:35 -05:00
Jay McCarthy
af5d2d9523 Parse xterm-keys for motion directly
Ideally, something better should be done (re #2554) but this is a decent
intermediate step for some useful keys.

Note: NCurses supports parsing these keys when shifted (KEY_SR,
_SLEFT, S_RIGHT, etc), but it does not do the same thing for the other
modifiers.
2018-12-07 16:33:35 -05:00
Jason Felice
a4f830f143 Use _exit() after vfork()
Closes #2620

The docs for Mac OS X's vfork() requires it, and _exit() conforms to
POSIX.1-2008.

http://man7.org/linux/man-pages/man2/_exit.2.html
2018-12-07 09:36:06 -05:00
Frank LENORMAND
7fea08e736 src: The test build target depends on kak
Not having the `test` target (in the Makefile) depend on the `kak` one
prevents users from running commands that make use of parallelism, e.g.:

$ make -j all test

The above command sometimes results in the test suite running before
the binary has been compiled and symlinked, resulting in failures.
2018-12-06 14:34:29 +03:00
Maxime Coste
b897a18aa6 Use a dummy function for SIGPIPE instead of SIG_IGN
SIG_IGN is inherited after 'execve' and requires us to reset
that signal handler, which does not work well with vfork on
OSX. Using an empty function does the trick and will be auto
reset to default on exec.
2018-12-06 20:33:13 +11:00