From d3a8e9217f39c59dd7762bd22a76b8bd03ca85ff Mon Sep 17 00:00:00 2001 From: Gregory Anders <8965202+gpanders@users.noreply.github.com> Date: Fri, 19 Jan 2024 14:51:10 -0600 Subject: 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. --- test/functional/ui/screen.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'test/functional/ui/screen.lua') 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 -- cgit