Maxime Coste
b0dcb07540
Reduce amount of SGR escapes emitted by tracking the active face
2021-07-12 10:25:58 +10:00
Maxime Coste
63310370f8
Remove explicit whitespace padding in menu/info
...
Rely on the backend to clear content to eol
2021-07-12 10:25:58 +10:00
Maxime Coste
484cfae9d1
Use CSI @ instead of emitting lots of spaces
...
This greatly reduces the amount of data written for a redraw especially
on big terminals where most of the data is trailing blanks
2021-07-12 10:25:58 +10:00
Maxime Coste
8e1b79b1b7
Remove the concept of cursor in TerminalUI::Window
2021-07-12 10:25:58 +10:00
Maxime Coste
65fbabcb86
Fix another display corruption issue in the terminal output code
2021-07-12 10:25:58 +10:00
Maxime Coste
5c3b0b7503
Fix another terminal update issue in the latest code change
...
Fixes #3426
2021-07-12 10:25:58 +10:00
Maxime Coste
e6801867c7
Fix bug in terminal output line delete logic
2021-07-12 10:25:58 +10:00
Maxime Coste
5a31b9f351
Fix tab character that got introduced by mistake
2021-07-12 10:25:58 +10:00
Maxime Coste
68f0bcce7c
Reduce the number of added/removed lines when redrawing screen
...
This should reduce flickering.
2021-07-12 10:25:58 +10:00
Maxime Coste
0506de8443
Fix compute_pos behaviour not to overflow by one line
...
Thanks to eraserhd for debugging this and proposing an initial fix.
Fixes #3414
Close #3418
2021-07-12 10:25:58 +10:00
Maxime Coste
5466f63eeb
Use insert/remove lines escapes to reduce terminal traffic
...
Diff against known state and insert/erase relevant lines.
Erase everything first to avoid insertion invalidating lines that
get out of the terminal at bottom.
2021-07-12 10:25:58 +10:00
Maxime Coste
9e8f555a82
Only redraw updated lines
2021-07-12 10:25:58 +10:00
Maxime Coste
07750656a8
Blit all window together before outputing them to the tty
...
This should reduce flicker, by avoiding transient states where
info/menu windows are not displayed, and paves the way for proper
diffing of the screen.
2021-07-12 10:25:58 +10:00
Maxime Coste
03563d51aa
Fix crash on resize in TerminalUI
2021-07-12 10:25:58 +10:00
Maxime Coste
7e66846172
Rename NCursesUI to TerminalUI
2021-07-12 10:25:58 +10:00
Maxime Coste
3b4d2b63c6
Remove references to ncurses in Makefile
2021-07-12 10:25:58 +10:00
Maxime Coste
c12699d2e9
Replace ncurses with a naive custom terminal backend
2021-07-12 10:25:58 +10:00
Maxime Coste
911edf6ea3
Merge branch 'patch-1' of http://github.com/catdevnull/kakoune
2021-07-12 10:16:01 +10:00
Maxime Coste
c009067874
Merge branch 'master' of http://github.com/throwawayaccount12345-1/kakoune
2021-07-12 10:15:14 +10:00
Maxime Coste
7622ebcc92
Quit server on SIGINT when it was not signaled by Kakoune itself
...
Fixes #3974
2021-07-12 10:08:17 +10:00
throwawayaccount12345-1
719b23c54f
Fix #3957
...
If the session wasn't valid anymore by the time the linter finishes,
writing to "$dir"/fifo would hang forever leaving temporary files in
/tmp/kak-lint.XXX and the process alive. This commit fixes that by
not writing to the fifo if the session was not valid.
throwawayaccount12345-1 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.
2021-07-09 22:18:25 -03:00
Maxime Coste
c30a0e0ca2
Inline String::Data no-copy constructor
2021-07-09 17:03:22 +10:00
Maxime Coste
2289f350df
Remove command parsing Reader and just track a ParserState
...
The Reader abstraction was leading to suboptimal code by encouraging
decoding utf8 separately from advancing to next codepoint.
2021-07-09 17:03:22 +10:00
Maxime Coste
86c5e8f75b
Avoid temporary vector in expand_token
...
Instead of return a vector, take the target vector as a parameter
and push tokens to it.
2021-07-09 17:03:22 +10:00
Maxime Coste
cd67f2cf11
Avoid copying token content strings in expand_token
...
We can move that data instead of copying
2021-07-09 17:03:22 +10:00
Nulo
b13e0598e2
Spawn a shell when using xfce4-terminal
...
Previously, commands like repl broke because of this
2021-07-08 01:44:17 +00:00
Maxime Coste
cac946b434
Merge branch 'patch-1' of http://github.com/maciderio/kakoune
2021-07-07 20:00:02 +10:00
Maxime Coste
64e306f64b
Document command-fifo in changelog
2021-07-07 19:46:47 +10:00
Maxime Coste
5ed9e1b356
Catch errors while executing shell commands
...
Log error to debug buffer and Change the 'waiting for shell' face
to 'Error'.
Update the 'waiting for shell' message when the shell has exited
but Kakoune is still waiting on stdin/stdout/stderr to be closed.
2021-07-07 19:25:06 +10:00
Maxime Coste
2b68b6737c
Update spell.kak to use command/response fifo
2021-07-07 19:25:06 +10:00
Maxime Coste
3d7fb8ddbc
Add support for $kak_command_fifo and $kak_response_fifo
...
Those fifos are accessible during %sh{...} blocks, the command fifo
executes commands written to it once the write end side is closed
(multiple open/write/close sequences are supported), the response
fifo is a simple helper fifo available to write response back to
the shell process
An example use of this feature is to request some list options
content from without being limited by the environment size:
```
%sh{
echo "echo -to-file $kak_response_fifo -quoting shell -- %opt{some_list}" > $kak_command_fifo
eval "set -- $(cat $kak_response_fifo)"
}
```
2021-07-07 19:25:06 +10:00
Maxime Coste
6215bff764
Decouple generate_env from actual ShellManager env var collection
2021-07-07 19:25:06 +10:00
Maxime Coste
394a104405
Merge remote-tracking branch 'Screwtapello/doc-improvements'
2021-07-07 19:18:27 +10:00
Maxime Coste
0c92ec8a23
Merge remote-tracking branch 'Screwtapello/save-restore-window-title'
2021-07-07 19:16:07 +10:00
Maxime Coste
699050d2d6
Merge remote-tracking branch 'alexherbo2/add-missing-eruby-indent-group'
2021-07-07 19:15:28 +10:00
Maxime Coste
7172481db3
Merge remote-tracking branch 'greenfork/restore-terminal-when-suspending'
2021-07-07 19:14:45 +10:00
Maxime Coste
8c2ee492fe
Merge remote-tracking branch 'dmerejkowsky/dart-extension-keyword'
2021-07-07 19:13:29 +10:00
Maxime Coste
29b6f06577
Merge remote-tracking branch 'maximbaz/spell-ignore-minus'
2021-07-07 19:13:02 +10:00
Maxime Coste
5b7d544299
Merge remote-tracking branch 'Frojdholm/markdown-codeblock-highlighting'
2021-07-07 19:09:05 +10:00
Hampus Fröjdholm
e0731b70cf
Improve highlighting of markdown lists
...
Removes the inline code highlighter for lists to improve
readability in indented lists.
2021-07-06 13:32:23 +02:00
maciderio
ec07374e76
Update README.asciidoc
...
Gentoo has a wiki page documenting Kakoune installation. The method given here ("emerge kakoune") will not work on a default Gentoo installation, as Kakoune is currently in the Testing branch rather than in the Stable branch. A link to the documentation explaining how to install Kakoune on Gentoo seems pertinent.
2021-07-03 15:36:38 +02:00
Maxim Baz
0289131c24
spell.kak: ignore another undocumented control char
2021-07-01 21:52:59 +02:00
Dimitri Merejkowsky
0c1e89a010
dart: add extension
to the list of keywords
2021-07-01 16:03:30 +02:00
Dmitry Matveyev
dbfbb1b5a6
Restore terminal during suspend before changing alternate screen
2021-06-27 16:49:39 +06:00
Maxime Coste
c68f85659f
Handle Ctrl+Z key later in the terminal input stack
...
The previous handling code was at a pretty random location and broke
terminals that could send <c-z> encoded in a non pure ascii way.
See #4238
2021-06-27 16:56:29 +10:00
Maxime Coste
4fd0fc3d80
Merge remote-tracking branch 'alexherbo2/fix-windowing-detection-priority'
2021-06-26 12:54:24 +10:00
Maxime Coste
17c670f52c
Merge remote-tracking branch 'hristost/patch-1'
2021-06-26 10:00:50 +10:00
Maxime Coste
272350c32c
Merge remote-tracking branch 'somasis/mandoc'
2021-06-26 10:00:01 +10:00
Maxime Coste
f0f3c0f735
Merge remote-tracking branch 'SolitudeSF/mode'
2021-06-26 09:59:45 +10:00
Sidharth Kshatriya
c5a1ddeaff
Better style
2021-06-24 19:53:38 +05:30