Problem: user keymap overrides like <c-t> failed to replace the
default <C-t> because the keys were compared as raw strings during
merge, leaving both entries in the table.
Solution: use nvim_replace_termcodes to compare keymap keys by their
internal representation, removing any default entry that normalizes
to the same key as the user-provided one before inserting it.
Closes#692
Cherry-picked from: stevearc/oil.nvim#725
Problem: there was no example showing how to register and sort by a
custom column.
Solution: add a recipe demonstrating an "extension" column with
natural-order sorting.
Cherry-picked from: stevearc/oil.nvim#697
Problem: get_current_dir returns nil in several cases that were not
documented, causing confusion when used in keymaps that open pickers
like Telescope (#682). Also, posix_to_os_path could crash on Windows
when no drive letter is found.
Solution: expand get_current_dir docs to explain nil return cases, add
a Telescope recipe with nil guards, and add a defensive nil check in
posix_to_os_path.
Cherry-picked from: stevearc/oil.nvim#727
Problem: the async fork of oil-git.nvim with directory highlighting
was not listed in the README.
Solution: add it to the third-party extensions list, disambiguating
both oil-git.nvim entries by author name.
Cherry-picked from: stevearc/oil.nvim#717
Problem: the old URL specifications.freedesktop.org/trash-spec/1.0/ is
dead and redirects or 404s.
Solution: update to the current URL trash/1.0/ in docs, source, and
the generation script.
Cherry-picked from: stevearc/oil.nvim#722
* feat: `toggle_float` now takes the same params as `open_float`
* docs: update `toggle_float` docs for `opts` and `cb` params
* fix: ensure cb is always called
---------
Co-authored-by: Steven Arcangeli <506791+stevearc@users.noreply.github.com>
* feat: add support for column text alignment
* refactor(util): replace rpad with pad_align
* refactor(columns): whitespace handling in parse_col
* refactor: small changes
* doc: add align option to doc generation
* refactor: replace lpad with pad_align
---------
Co-authored-by: Steven Arcangeli <stevearc@stevearc.com>
The `complete` callback checks `err` instead of `err2`, but `err` is
always nil inside the `elseif entries` branch. This silently ignores
child operation errors, causing misleading "directory not empty" failures.
* Added s3 support
* Save work
* Various bug fixes
* Minor cleanup
* Minor bug fixes
* Fix typo
* Update following feedback + minor bug fix
* Fix CI
* Cleanup and remove bucket entry_type
* Make suggested changes
* Better aws existence check
* Fix typo
* refactor: don't bother caching aws executable status
---------
Co-authored-by: Steven Arcangeli <506791+stevearc@users.noreply.github.com>
Neovim 0.11 introduced the winborder option, which serves the same purpose. By defaulting the border to nil, we will use whatever value the user has configured with winborder.
---------
Co-authored-by: Steven Arcangeli <506791+stevearc@users.noreply.github.com>
* fix: support natural ordering for numbers with >12 digits
Changes the column ordering code when `view_options.natural_order`
is enabled, so that it can support larger numbers.
The previous 12-digit padding approach breaks for numbers above 12
digits.
This length-prefixed approach can scale to much higher numbers.
I picked %03 (padding 3 digits) because most filesystems don't allow
more than 255 bytes in a path segment, and "255" is 3 digits long.
* add memoization to natural order sorting
* remove call to unpack
* feat: copy/paste to system clipboard on macOS
* stylua
* feat: copy/paste to system clipboard on linux
* force mime type
* fix string.gsub
* vim.uv or vim.loop
* fix stylua
* support gnome directly
* support wayland
* refactor: extract clipboard actions into separate file
* fix: copy/paste in KDE
* refactor: simplify file loading
* fix: copy/paste on x11
* fix: better error message when clipboard command not found
* fix: paste on mac
* fix: pasting in Gnome
* feat: support pasting multiple files
* feat: support copying multiple files to clipboard
---------
Co-authored-by: Steve Walker <65963536+etherswangel@users.noreply.github.com>
Co-authored-by: Steven Arcangeli <stevearc@stevearc.com>
* pass bufnr to the constrain_cursor
* return early if the oil buffer is not the current buffer
---------
Co-authored-by: Steven Arcangeli <506791+stevearc@users.noreply.github.com>