Use Windows settings editor command
This commit is contained in:
51
wezterm.lua
51
wezterm.lua
@@ -147,25 +147,44 @@ config.unix_domains = {
|
|||||||
{ name = "unix" },
|
{ name = "unix" },
|
||||||
}
|
}
|
||||||
|
|
||||||
local config_file = "/mnt/storage/wezterm.lua"
|
local is_windows = wezterm.target_triple:find("windows") ~= nil
|
||||||
|
local config_file = is_windows and (wezterm.home_dir .. "\\.wezterm.lua") or "/mnt/storage/wezterm.lua"
|
||||||
|
|
||||||
local function open_config_section(window, pane, line)
|
local function open_config_section(window, pane, line)
|
||||||
|
local args
|
||||||
|
if is_windows then
|
||||||
|
args = {
|
||||||
|
"powershell.exe",
|
||||||
|
"-NoLogo",
|
||||||
|
"-NoExit",
|
||||||
|
"-Command",
|
||||||
|
string.format(
|
||||||
|
'$file = %q; $line = %d; '
|
||||||
|
.. '$code = Get-Command code.cmd,code -ErrorAction SilentlyContinue | Select-Object -First 1; '
|
||||||
|
.. 'if ($code) { & $code.Source -g "${file}:${line}" } '
|
||||||
|
.. 'else { Write-Host "VS Code not found. Opening Notepad without line jump."; notepad.exe $file }',
|
||||||
|
config_file,
|
||||||
|
line
|
||||||
|
),
|
||||||
|
}
|
||||||
|
else
|
||||||
|
args = {
|
||||||
|
"sh",
|
||||||
|
"-lc",
|
||||||
|
string.format(
|
||||||
|
'file=%q; line=%d; editor="${VISUAL:-${EDITOR:-}}"; '
|
||||||
|
.. 'if [ -z "$editor" ]; then for candidate in nvim vim vi nano; do command -v "$candidate" >/dev/null 2>&1 && editor="$candidate" && break; done; fi; '
|
||||||
|
.. 'if [ -z "$editor" ]; then echo "No terminal editor found. Set EDITOR or install vim/nano."; exec "${SHELL:-sh}"; fi; '
|
||||||
|
.. '"$editor" +"$line" "$file"; status=$?; '
|
||||||
|
.. 'if [ $status -ne 0 ]; then echo; echo "Editor exited with status $status. Press Enter to close, or type commands below."; exec "${SHELL:-sh}"; fi',
|
||||||
|
config_file,
|
||||||
|
line
|
||||||
|
),
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
window:perform_action(
|
window:perform_action(
|
||||||
act.SpawnCommandInNewTab({
|
act.SpawnCommandInNewTab({ args = args }),
|
||||||
args = {
|
|
||||||
"sh",
|
|
||||||
"-lc",
|
|
||||||
string.format(
|
|
||||||
'file=%q; line=%d; editor="${VISUAL:-${EDITOR:-}}"; '
|
|
||||||
.. 'if [ -z "$editor" ]; then for candidate in nvim vim vi nano; do command -v "$candidate" >/dev/null 2>&1 && editor="$candidate" && break; done; fi; '
|
|
||||||
.. 'if [ -z "$editor" ]; then echo "No terminal editor found. Set EDITOR or install vim/nano."; exec "${SHELL:-sh}"; fi; '
|
|
||||||
.. '"$editor" +"$line" "$file"; status=$?; '
|
|
||||||
.. 'if [ $status -ne 0 ]; then echo; echo "Editor exited with status $status. Press Enter to close, or type commands below."; exec "${SHELL:-sh}"; fi',
|
|
||||||
config_file,
|
|
||||||
line
|
|
||||||
),
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
pane
|
pane
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user