aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nvim/.config
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/.config')
-rw-r--r--nvim/.config/nvim/lua/plugins/presence.lua139
1 files changed, 0 insertions, 139 deletions
diff --git a/nvim/.config/nvim/lua/plugins/presence.lua b/nvim/.config/nvim/lua/plugins/presence.lua
index a005df9..453a764 100644
--- a/nvim/.config/nvim/lua/plugins/presence.lua
+++ b/nvim/.config/nvim/lua/plugins/presence.lua
@@ -21,145 +21,6 @@ function M:config(opts)
local plugin_managers = require("presence/plugin_managers")
plugin_managers["lazy"] = "lazy"
- -- HACK: Overwrite functions to remove WSL related stuff
- ---@diagnostic disable-next-line: duplicate-set-field
- function Presence:get_discord_socket_path()
- local sock_name = "discord-ipc-0"
- local sock_path = nil
-
- if self.os.name == "windows" then
- -- Use named pipe in NPFS for Windows
- sock_path = [[\\.\pipe\]] .. sock_name
- elseif self.os.name == "macos" then
- -- Use $TMPDIR for macOS
- local path = os.getenv("TMPDIR")
-
- if path then
- sock_path = path:match("/$") and path .. sock_name or path .. "/" .. sock_name
- end
- elseif self.os.name == "linux" then
- -- Check various temp directory environment variables
- local env_vars = {
- "XDG_RUNTIME_DIR",
- "TEMP",
- "TMP",
- "TMPDIR",
- }
-
- for i = 1, #env_vars do
- local var = env_vars[i]
- local path = os.getenv(var)
- if path then
- self.log:debug(string.format("Using runtime path: %s", path))
- sock_path = path:match("/$") and path .. sock_name or path .. "/" .. sock_name
- break
- end
- end
- end
-
- return sock_path
- end
-
- -- HACK: Fix grep command for neovim socket
- ---@diagnostic disable-next-line: duplicate-set-field
- function Presence:get_nvim_socket_paths(on_done)
- self.log:debug("Getting nvim socket paths...")
- local sockets = {}
- local parser = {}
- local cmd
-
- if self.os.name == "windows" then
- cmd = {
- "powershell.exe",
- "-Command",
- [[(Get-ChildItem \\.\pipe\).FullName | findstr 'nvim']],
- }
- elseif self.os.name == "macos" then
- if vim.fn.executable("netstat") == 0 then
- self.log:warn("Unable to get nvim socket paths: `netstat` command unavailable")
- return
- end
-
- -- Define macOS BSD netstat output parser
- function parser.parse(data)
- return data:match("%s(/.+)")
- end
-
- cmd = table.concat({
- "netstat -u",
- [[grep --color=never "nvim.*/0"]],
- }, "|")
- elseif self.os.name == "linux" then
- if vim.fn.executable("ss") == 1 then
- -- Use `ss` if available
- cmd = table.concat({
- "ss -lx",
- [[grep "nvim.*\.0"]],
- }, "|")
-
- -- Define ss output parser
- function parser.parse(data)
- return data:match("%s(/.-)%s")
- end
- elseif vim.fn.executable("netstat") == 1 then
- -- Use `netstat` if available
- cmd = table.concat({
- "netstat -u",
- [[grep --color=never "nvim.*\.0"]],
- }, "|")
-
- -- Define netstat output parser
- function parser.parse(data)
- return data:match("%s(/.+)")
- end
- else
- local warning_msg = "Unable to get nvim socket paths: `netstat` and `ss` commands unavailable"
- self.log:warn(warning_msg)
- return
- end
- else
- local warning_fmt = "Unable to get nvim socket paths: Unexpected OS: %s"
- self.log:warn(string.format(warning_fmt, self.os.name))
- return
- end
-
- local function handle_data(_, data)
- if not data then
- return
- end
-
- for i = 1, #data do
- local socket = parser.parse and parser.parse(vim.trim(data[i])) or vim.trim(data[i])
- if socket and socket ~= "" and socket ~= self.socket then
- table.insert(sockets, socket)
- end
- end
- end
-
- local function handle_error(_, data)
- if not data then
- return
- end
-
- if data[1] ~= "" then
- self.log:error(string.format("Unable to get nvim socket paths: %s", data[1]))
- end
- end
-
- local function handle_exit()
- self.log:debug(string.format("Got nvim socket paths: %s", vim.inspect(sockets)))
- on_done(sockets)
- end
-
- local cmd_str = type(cmd) == "table" and table.concat(cmd, ", ") or cmd
- self.log:debug(string.format("Executing command: `%s`", cmd_str))
- vim.fn.jobstart(cmd, {
- on_stdout = handle_data,
- on_stderr = handle_error,
- on_exit = handle_exit,
- })
- end
-
function Presence:handle_focus_lost()
self:start_idle_timer(self.options.focus_lost_delay, function()
self:cancel()