48 lines
1.4 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local M = {}
--- 當前終端機環境是否在圖形環境裡面Linux / macOS
--- @return boolean is_gui
function M.is_graphical()
local env = vim.env
local term_program = env.TERM_PROGRAM -- macOS GUI 終端機常見
local display = env.DISPLAY -- Linux X11
local wayland = env.WAYLAND_DISPLAY -- Linux Wayland
local ssh = env.SSH_CONNECTION or env.SSH_CLIENT
if ssh then
return false
end
return term_program or display or wayland and true or false
end
function M.is_enable_smoothscroll()
if vim.fn.has("glrnvim_gui") == 1 then
return true
-- 如果是在 GUI如 NeoVide、Goneovim則不啟用插件
elseif vim.g.neovide or vim.fn.has("goneovim") == 1 then
return false
else
return true
end
end
--- 當前終端機環境是否在圖形環境裡面並不使用專用GUI APP(NeoVide)
--- @return boolean is_enable_sixel
function M.is_enable_sixel()
-- 如果是在 GUI如 NeoVide、Goneovim則不啟用插件
if vim.g.neovide or vim.fn.has("goneovim") == 1 or vim.fn.has("gui_running") == 1 then
return false
end
-- 獲取 TERM 環境變數
local term = vim.fn.getenv("TERM")
-- 檢查是否是常見的文字終端
local is_terminal = term and (term:match("xterm") or term:match("screen") or term:match("tmux") or term:match("linux"))
-- 如果是文字終端,則啟用插件
return is_terminal ~= nil
end
return M