This will serve as the main tracker for progress on v0.3. Currently, it's stored in a branch called OverhaulUi, but that branch has evolved into another massive rewrite of the plugin internals. They have shaped out to be much cleaner than in the past (thanks to using the lua language server). Once the work listed is complete, v0.3 will be the official branch and pointed to at the top level (instead of v0.2).
Engineering
General
[X] Split functionality into distant-core and distant modules
[x] Fix telescope integration (it's broken from refactoring)
[x] Fix Dockerfile and associated tests
Distant
[x] Create primary plugin entrypoint (more things at top-level of distant)
[x] Revamp settings
[X] Move server-specific settings to a field within the setup opts
[X] Add cwd support to server settings
[x] Move dir and file mappings out of server * and into a top-level mappings (we don't need server-specific keybindings for navigation, it should always be the same)
[x] Allow user to specify edit/up/mkdir/etc nav action by key instead of a map so they don't need to import nav actions and editor to assign them (e.g. settings.mappings.dir.edit = '<Return>')
[x] Create UI windows to visualize better
[x] "Main Window" - hosts connections, system information, etc.
[x] Connections tab
[X] Show manager information
[X] List active connections you can be from the manager
[X] List available hosts from server settings
[X] Be able to switch active connections
[X] Be able to launch from available hosts
[x] Be able to connect from available hosts
[x] Be able to jump to next or previous server connection using <C-n> and <C-p>
[X] System information tab
[X] Show system information
[X] Update information whenever a connection is made/switched
[x] Log tab (???)
[x] Show log output (last X lines?)
[x] Debug tab (???)
[x] Show detailed manager information (pid, uptime, capabilities, pre-existing info?)
[x] Show detailed client information (uptime, capabilities, process list including shells, api, lsp, etc)
[x] Help tab
[x] Show keybindings similar to lazy.nvim style as I like it more than mason.nvim
[x] Make keybindings changeable in settings reflect within help tab
[x] "Metadata Window" - displays metadata for a file/directory/symlink
This will serve as the main tracker for progress on v0.3. Currently, it's stored in a branch called
OverhaulUi
, but that branch has evolved into another massive rewrite of the plugin internals. They have shaped out to be much cleaner than in the past (thanks to using the lua language server). Once the work listed is complete, v0.3 will be the official branch and pointed to at the top level (instead of v0.2).Engineering
General
distant-core
anddistant
modulesDistant
Addcwd
support to server settings*
and into a top-levelmappings
(we don't need server-specific keybindings for navigation, it should always be the same)settings.mappings.dir.edit = '<Return>'
)Be able to jump to next or previous server connection using<C-n>
and<C-p>
Log tab (???)Show log output (last X lines?)Debug tab (???)Show detailed manager information (pid, uptime, capabilities, pre-existing info?)Show detailed client information (uptime, capabilities, process list including shells, api, lsp, etc)lazy.nvim
style as I like it more thanmason.nvim
"Toast" - port of nvim-notifyReplace errors withvim.notify
withvim.log.levels.ERROR
to be friendlierSupport enabling/disabling "toast" forvim.notify
in case user has another plugin (likenvim-notify
) that they want to useFileChangedShell
, or triggering it if possible)Distant Core
distant-core
ported frommason.nvim
utils
into its own modulemason.nvim
) so we can better capture when actions take placeutils
module by removing unused functions, inlining single-useTests
Bugs
Documentation
:checkhealth distant
:Distant
and:DistantInstall
- the existing doc can be reused with tweaksrequire('distant')
) - needs to be completely rewritten