Add :explore-files and hook it on :edit errors
This is a follow-up of :connect. We automatically determinate the best
appropriate command to use as file explorer. We hooks this on :edit
errors to open the explorer when used with directory, or no files at
all.
Add kak-connect to connect external programs as file browsers
Kakoune doesn't embark a file browser. It has been designed as client-server,
and this make it easy to connect to external programs.
The problem is that there is no easy way to do so out of the box. The users are
expected to glue this themselves.
This try to help users to connect external softwares to Kakoune.
:connect is a new command to be used with :terminal or :run to start a new
connected terminal, or graphical application.
Those connected software have the corresponding KAKOUNE_SESSION and
KAKOUNE_CLIENT environment variables. It also set kak-connect as EDITOR.
kak-connect is a simple POSIX shell script that send commands to the connected
Kakoune session, to open the files.
The basic usage of all could be:
:connect terminal nnn
:connect terminal ranger
Which open nnn or ranger in another terminal (external, or in a tmux pane), and
to open the files in the Kakoune client.
We can itterate over this:
- Add hooks to open a file browser when the user open a directory, or no file
with :edit.
- Make nnn, or other programs detected and configured by default, as we do in
windowing terminals. And wrap it with a :file-browser command.
Add builds.sr.ht alpine latest configuration
Add <C-e> and <C-y> to scroll one line at a time
Recently I noticed changes with the behavior of my keybinds:
map global normal <C-e> vj
map global normal <C-y> vk
This is because the cursor movement behavior changed with vj and vk. Scrolling
window was previously blocked by the cursor. Now the cursor and selection stays
in place.
I think the view keyboard behaviors are consistent, and coherent with the
current state. But this isn't exactly what we want from <C-e> and <C-y>.
Example, when you start to scroll with <C-e> (your cursor stay in
place), then you press <C-d> (your cursor is moved back to your view).
Example, when you start to scroll with <C-e> (your cursor stay in
place), then you press j or k (your view is pushed back to initial
position).
To solve this, I think we need news and differents default keybinds
<C-e> and <C-y>.
editorconfig: allow to disable automatic edition
autowrap: automatically set autowrap column highlighter
Also the user now can change the value, without duplicating the column.
Reduce templatization further to reduce binary size
Pass libs after object files to linker
Fixes #5206
De-templatize regex selection code
This led to lots of duplicated code gen, longer compile time, and
most likely unnoticeable performance difference
Merge remote-tracking branch 'JustTaken/doc-review'
Merge remote-tracking branch 'JustTaken/view-offset'
Review some buffer names in documentation
Now `\*debug*` and `\*scratch*` are used when refering these buffers
for prettier presentation.
Fix logic to get minimun custom offset
Now the scrolloff can be specified in the configuration file and
if either one of the column or line offset given is too large to
fit in the buffer, half of the window dimension is taken in it's
place. `v<` and `v>` account custom scroll offset as well.
Allow escaping commas in the -buffer argument to eval/exec
I had this issue with device tree binding files in zephyr, that follow the vendor,device.yml
convention. The linux kernel presumably uses it as well.
While allowing escaping helps, we might consider using a separate option. The most obvious
approach might be to move the current behavior to -buffers, and have -buffer be
verbatim. However, I'm not entirely sure about the impact of that breakage,
so for now, at least the ability to escape it.
Handle word completion when recording macros
Make last insert and macro recording closer together, paving the
way towards moving last insert to a register.
Use a FunctionRef for insert completer key insertion support.
JustTaken 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.
Take in account scrolloff when moving viewport
`vt` and `vb` respect custom scroll offset
Merge remote-tracking branch 'stacyharper/improve-php-heredoc'
De-templatize select_object
This removes lots of duplicated codegen at the expense of slightly
worse constant folding optimizations