aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/screen.lua
diff options
context:
space:
mode:
authorGregory Anders <8965202+gpanders@users.noreply.github.com>2024-01-19 14:51:10 -0600
committerGitHub <noreply@github.com>2024-01-19 14:51:10 -0600
commitd3a8e9217f39c59dd7762bd22a76b8bd03ca85ff (patch)
tree176bbcf0793bab5338614f717f003c385f9c3878 /test/functional/ui/screen.lua
parent5a8fe0769cc9c5d8323b073d5c45ee37ce91c049 (diff)
downloadrneovim-d3a8e9217f39c59dd7762bd22a76b8bd03ca85ff.tar.gz
rneovim-d3a8e9217f39c59dd7762bd22a76b8bd03ca85ff.tar.bz2
rneovim-d3a8e9217f39c59dd7762bd22a76b8bd03ca85ff.zip
feat(ui): add chdir UI event (#27093)
When an embedded Nvim instance changes its current directory a "chdir" UI event is emitted. Attached UIs can use this information however they wish. In the TUI it is used to synchronize the cwd of the TUI process with the cwd of the embedded Nvim process.
Diffstat (limited to 'test/functional/ui/screen.lua')
-rw-r--r--test/functional/ui/screen.lua6
1 files changed, 5 insertions, 1 deletions
diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua
index 644ee910b6..07333f2e21 100644
--- a/test/functional/ui/screen.lua
+++ b/test/functional/ui/screen.lua
@@ -140,6 +140,7 @@ function Screen.new(width, height)
suspended = false,
mode = 'normal',
options = {},
+ pwd = '',
popupmenu = nil,
cmdline = {},
cmdline_block = {},
@@ -212,7 +213,6 @@ function Screen:attach(options, session)
if options.ext_linegrid == nil then
options.ext_linegrid = true
end
-
self._session = session
self._options = options
self._clear_attrs = (not options.ext_linegrid) and {} or nil
@@ -1108,6 +1108,10 @@ function Screen:_handle_option_set(name, value)
self.options[name] = value
end
+function Screen:_handle_chdir(path)
+ self.pwd = vim.fs.normalize(path, { expand_env = false })
+end
+
function Screen:_handle_popupmenu_show(items, selected, row, col, grid)
self.popupmenu = { items = items, pos = selected, anchor = { grid, row, col } }
end