Frank LENORMAND
9f0b241e09
src: Uninstall libexec properly
2021-09-08 14:26:48 +03:00
Maxime Coste
3d8061b975
Fix set-face docstring to include underline color
2021-09-08 08:23:16 +10:00
Maxime Coste
3fc8e29d10
Add support for curly underline and separate underline color
...
Add support for a third color in face definition that controls
the underline and a 'c' attribute for curly underline (that takes
precedence over 'u' if both are specified)
Allow empty colors to mean default, so that `,,red+u` means the
same as `default,default,red+u`
Fixes #4138
2021-09-07 08:21:26 +10:00
Maxime Coste
a6644d3034
Fix strikethrough support in face to string conversion
2021-09-05 09:20:35 +10:00
Maxime Coste
e32b2156d9
Add missing strikethrough in set-face docstring
2021-09-04 13:54:18 +10:00
Maxime Coste
5c6c58ae22
Remove unnecessary c_str() calls
2021-09-02 21:19:21 +10:00
Maxime Coste
b841f3a214
Remove terminal_wheel_up/down_button UI option
...
It seems nobody uses it, and it is not plugged through anyway.
Closes #2642
2021-09-02 20:46:35 +10:00
Maxime Coste
2edabde919
Do not go through some temporary selections for indent/deindent
...
This does not seem necessary and simplifies the logic
2021-08-30 16:14:26 +10:00
Maxime Coste
33a80e644c
Take a function SelectionList::insert to get string to insert
...
This makes it unnecessary to allocate Vector<String> to insert and
allows to remove the insert_pos pointer hack by passing it to the
callback.
2021-08-30 16:14:26 +10:00
Maxime Coste
bc11f972c5
Kakoune 2021.08.28
2021-08-28 14:07:42 +10:00
Maxime Coste
726bec4670
Support info markup spanning multiple lines
...
Preserve the active face accross lines
Fixes #4313
2021-08-28 13:53:23 +10:00
Maxime Coste
e454b393cf
Fix readonly behaviour
...
Make readonly specified on startup only apply to files provided on
the command line, and use the correct scope in `edit -readonly`
Fixes #4278
2021-08-22 22:59:16 +10:00
Maxime Coste
c1e8f57bd6
Merge branch 'roam-hurd-exec-path' of http://github.com/ppentchev/kakoune into HEAD
2021-08-22 22:41:27 +10:00
Peter Pentchev
6eb56a97d2
Find the executable path on the GNU Hurd, too.
2021-08-21 17:14:21 +03:00
Peter Pentchev
aa88f459ff
Use the [[gnu::packed]] C++ attribute.
...
Suggested by: Maxime Coste <mawww@kakoune.org>
2021-08-21 17:06:14 +03:00
Peter Pentchev
6e686af8b5
Do not break non-GCC/g++ compilers.
2021-08-20 17:21:26 +03:00
Peter Pentchev
0e9624f69f
Make sure the ParsedRegex structure has the right size.
...
Some versions of GCC/g++ will not necessarily pad the structure to
a 32-bit boundary, so make the alignment and the filler explicit.
Detected on: Debian/m68k; https://buildd.debian.org/status/fetch.php?pkg=kakoune&arch=m68k&ver=2020.09.01-1&stamp=1629387444&raw=0
2021-08-20 17:13:34 +03:00
Maxime Coste
7187784936
Move control character escaping responsibility to the terminal UI
...
Fix atom text at display time, allow tabs/eol/etc... in display
atoms and escape them just-in-time
Fixes #4293
2021-08-17 20:40:30 +10:00
Maxime Coste
94388dc51e
Merge remote-tracking branch 'alexherbo2/fix-typos'
2021-08-17 08:48:47 +10:00
Maxime Coste
e8e535e1cf
Merge remote-tracking branch 'krobelus/no-env-var'
2021-08-17 08:27:49 +10:00
Maxime Coste
cde67c25aa
Merge remote-tracking branch 'krobelus/complete-at-percent-delimiter'
2021-08-17 08:27:37 +10:00
Johannes Altmanninger
c1bdafef48
Avoid "env var" in error message for unknown %val expansion
...
This meaning is only used in C++ sources. The docs use "env
var"/"environment variable" a few times for actual environment
variables.
2021-08-10 08:23:14 +02:00
Johannes Altmanninger
abd833e0dc
Restore prompt completion for "%opt{"
...
Commit 2289f350
("Remove command parsing Reader and just track a
ParserState") introduced a small regression in parse_percent_token()
because we failed to recognize a token like %val{ as percent-expansion.
I tried to add a test case but a UI test doesn't seem possible, e.g.
kak -ui json -e "exec ':echo %opt{<tab>}<ret>'"
prints: 'exec': option not found: ''
2021-08-09 22:46:06 +02:00
Maxime Coste
73da47258d
Reduce memory usage and allocations in terminal output code
...
Store data in unique_ptr instead of vectors as we have fixed sizes
Do not allocate new hashes, recompute them on-demand
2021-08-05 11:52:37 +10:00
Maxime Coste
24c23af341
Remove unnecessary fflush call
2021-08-05 10:57:35 +10:00
Maxime Coste
7b126704c7
Fallback to 80x24 terminal size when ioctl fails or returns 0x0
...
Fixes #4286
2021-08-04 20:51:50 +10:00
Maxime Coste
1b7616b3fc
Use a BufferedWriter to output in the terminal ui instead of stdio
...
Clearer control of buffering and flushing
2021-08-01 20:07:20 +10:00
Maxime Coste
1728274803
Add a format_with format function that takes a FunctionRef append
2021-07-31 09:45:05 +10:00
Maxime Coste
a566a22cbc
Expose BufferedWriter
2021-07-31 09:44:24 +10:00
Maxime Coste
914f4f8c19
Fix FunctionRef copy construction
...
The template constructor was mistaken as a copy constructor.
2021-07-31 09:43:49 +10:00
Maxime Coste
b57dc7c512
Code style tweak for Regex implementation TestVM
2021-07-31 08:55:52 +10:00
Maxime Coste
cf52379422
Do not run unit tests in release builds
...
They mostly rely on assertions that are disabled in those builds
anyway.
2021-07-26 16:57:07 +10:00
Maxime Coste
cbba348a83
always inline custom operator new/delete to avoid spurious warnings
...
GCC 11 warns incorrectly about mismatched new/delete because it auto
inlines one but not the other, force inline those function to fix that.
2021-07-26 16:55:36 +10:00
Maxime Coste
15aa4fe137
Document the new write behaviour
2021-07-20 22:45:33 +10:00
Maxime Coste
7f41a277a0
Merge remote-tracking branch 'occivink/nop-ignore-unknown-switches'
2021-07-20 22:37:09 +10:00
Maxime Coste
40e3614cf4
Prevent overwriting existing file in :write <explicit filename>
...
Add a -force (equivalent to w!) switch that enables overwriting.
2021-07-20 22:30:41 +10:00
Maxime Coste
4d99434ddd
Remove unnecessary forward declaration
2021-07-20 22:30:41 +10:00
Maxime Coste
3c1199f665
Add missing new/delete overload in UseMemoryDomain
2021-07-20 22:30:41 +10:00
Maxime Coste
63b67d0f31
Remove some unnecessary string copies in TerminalUI
2021-07-20 22:30:41 +10:00
Maxime Coste
e3957bb24c
Generate different parse_quoted_balanced for each quote pair
...
This seems to slightly improve parse speed which is where kakoune
spends most of its time during startup.
2021-07-20 22:30:41 +10:00
Maxime Coste
a4dd89f214
Improve code-generation for Strings
...
Make String::Data use trivial copy of the short/long union to avoid
unnecessary branching there, inline release() as it can be elided by
the compiler on moved-from Strings.
2021-07-20 22:30:41 +10:00
Olivier Perret
55f9a69465
nop: ignore unknown switches instead of failing
2021-07-19 11:47:07 +02:00
Maxime Coste
c643cd4467
Fix blitting of windows halfway through double-width codepoint
...
Display a whitespace in place of the uncovered half of the codepoint.
(I know this is incorrect and we should be considering grapheme clusters
instead of codepoints, but this is a far bigger refactoring and another
can of worms to handle with terminal emulators).
Fixes #4262
2021-07-14 20:51:25 +10:00
Maxime Coste
ac6420ee8d
Refactor TerminalUI::set_ui_options
...
Take advantage of Optional monadic operations
2021-07-12 10:25:59 +10:00
Maxime Coste
428ddeb97b
Add 'terminal_synchronized' ui_option to opt-in synchronized output
...
Synchronized output does not work well with various terminals
(including the linux console). It should also be unnecessary when
not going through a slow link.
This will eventually be removed if it is not proven to be useful
to some users.
2021-07-12 10:25:59 +10:00
Jason Felice
5d497dc46e
src: Support strikethrough faces
2021-07-12 10:25:59 +10:00
Maxime Coste
cbd0dc571b
Fix crash when displaying a menu on a too small terminal
...
The code could position the menu at a negative line leading to
invalid array accesses.
2021-07-12 10:25:59 +10:00
Maxime Coste
76e5d11c8b
Small cleanups in terminal ui
2021-07-12 10:25:59 +10:00
Maxime Coste
44deaeb4eb
Do not trust saved active face when force redrawing
2021-07-12 10:25:59 +10:00
Maxime Coste
7bbc057cd7
Slight code simplification
2021-07-12 10:25:58 +10:00