mirror of
https://github.com/jiriks74/presence.nvim
synced 2024-11-23 12:27:50 +01:00
Fix various verbiage and style inconsistencies
This commit is contained in:
parent
66bd159dd3
commit
bb149540fd
@ -1,7 +1,6 @@
|
||||
local Log = {}
|
||||
|
||||
Log.codes = {}
|
||||
|
||||
Log.levels = {
|
||||
{ "debug", "Comment" },
|
||||
{ "info", "None" },
|
||||
@ -9,22 +8,11 @@ Log.levels = {
|
||||
{ "error", "ErrorMsg" },
|
||||
}
|
||||
|
||||
function Log.new(options)
|
||||
options = options or {}
|
||||
|
||||
local logger = vim.deepcopy(Log)
|
||||
logger.options = options
|
||||
logger.options.level = options.level
|
||||
|
||||
return logger
|
||||
function Log:init(options)
|
||||
self.level = options.level
|
||||
return self
|
||||
end
|
||||
|
||||
setmetatable(Log, {
|
||||
__call = function(_, ...)
|
||||
return Log.new(...)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Initialize logger with log functions for each level
|
||||
for i = 1, #Log.levels do
|
||||
local level, hl = unpack(Log.levels[i])
|
||||
@ -33,7 +21,7 @@ for i = 1, #Log.levels do
|
||||
|
||||
Log[level] = function(self, message)
|
||||
-- Skip if log level is not set or the log is below the configured or default level
|
||||
if not self.options.level or self.codes[level] < self.codes[self.options.level] then
|
||||
if not self.level or self.codes[level] < self.codes[self.level] then
|
||||
return
|
||||
end
|
||||
|
||||
|
@ -18,11 +18,11 @@ Discord.events = {
|
||||
local struct = require("deps.struct")
|
||||
|
||||
-- Initialize a new Discord RPC client
|
||||
function Discord:new(options)
|
||||
function Discord:init(options)
|
||||
self.log = options.logger
|
||||
self.ipc_path = options.ipc_path
|
||||
self.client_id = options.client_id
|
||||
|
||||
self.ipc_path = self.find_ipc_path()
|
||||
self.pipe = vim.loop.new_pipe(true)
|
||||
|
||||
return self
|
||||
@ -71,7 +71,7 @@ function Discord:call(opcode, payload, on_response)
|
||||
|
||||
on_response(err_message)
|
||||
else
|
||||
self.log:debug("Successfully wrote message to pipe")
|
||||
self.log:debug("Wrote message to pipe")
|
||||
end
|
||||
end)
|
||||
end)
|
||||
@ -149,34 +149,14 @@ function Discord:set_activity(activity, on_response)
|
||||
self:call(self.opcodes.frame, payload, on_response)
|
||||
end
|
||||
|
||||
-- Find the the IPC path in temporary runtime directories
|
||||
function Discord.find_ipc_path()
|
||||
local env_vars = {
|
||||
'TEMP',
|
||||
'TMP',
|
||||
'TMPDIR',
|
||||
'XDG_RUNTIME_DIR',
|
||||
}
|
||||
|
||||
for i = 1, #env_vars do
|
||||
local var = env_vars[i]
|
||||
local path = vim.loop.os_getenv(var)
|
||||
if path then
|
||||
return path
|
||||
end
|
||||
end
|
||||
|
||||
return nil
|
||||
end
|
||||
|
||||
function Discord.generate_uuid()
|
||||
local template ='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
|
||||
local template ="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"
|
||||
|
||||
local uuid = template:gsub('[xy]', function(char)
|
||||
local n = char == 'x'
|
||||
local uuid = template:gsub("[xy]", function(char)
|
||||
local n = char == "x"
|
||||
and math.random(0, 0xf)
|
||||
or math.random(8, 0xb)
|
||||
return string.format('%x', n)
|
||||
return string.format("%x", n)
|
||||
end)
|
||||
|
||||
return uuid
|
||||
|
@ -1,18 +1,18 @@
|
||||
local Presence = {}
|
||||
|
||||
local Log = require("lib.log")
|
||||
local log = require("lib.log")
|
||||
local files = require("presence.files")
|
||||
local msgpack = require("deps.msgpack")
|
||||
local DiscordRPC = require("presence.discord")
|
||||
local Discord = require("presence.discord")
|
||||
|
||||
function Presence:setup(options)
|
||||
options = options or {}
|
||||
self.options = options
|
||||
|
||||
-- Initialize logger with provided options
|
||||
self.log = Log {
|
||||
self.log = log:init({
|
||||
level = options.log_level or vim.g.presence_log_level,
|
||||
}
|
||||
})
|
||||
|
||||
self.log:debug("Setting up plugin...")
|
||||
|
||||
@ -42,8 +42,9 @@ function Presence:setup(options)
|
||||
self.client_id = options.client_id
|
||||
end
|
||||
|
||||
self.discord = DiscordRPC:new({
|
||||
self.discord = Discord:init({
|
||||
client_id = self.client_id,
|
||||
ipc_path = self.get_ipc_path(),
|
||||
logger = self.log,
|
||||
})
|
||||
|
||||
@ -56,8 +57,8 @@ function Presence:setup(options)
|
||||
end
|
||||
|
||||
-- Send a nil activity to unset the presence
|
||||
function Presence:cancel_presence()
|
||||
self.log:debug("Nullifying Discord presence...")
|
||||
function Presence:cancel()
|
||||
self.log:debug("Canceling Discord presence...")
|
||||
|
||||
if not self.discord:is_connected() then
|
||||
return
|
||||
@ -74,14 +75,14 @@ function Presence:cancel_presence()
|
||||
end
|
||||
|
||||
-- Send command to cancel the presence for all other remote Neovim instances
|
||||
function Presence:cancel_all_remote_presences()
|
||||
function Presence:cancel_all_remote_instances()
|
||||
self:get_nvim_socket_addrs(function(sockets)
|
||||
for i = 1, #sockets do
|
||||
local nvim_socket = sockets[i]
|
||||
|
||||
-- Skip if the nvim socket is the current instance
|
||||
if nvim_socket ~= vim.v.servername then
|
||||
local command = "lua package.loaded.presence:cancel_presence()"
|
||||
local command = "lua package.loaded.presence:cancel()"
|
||||
self:call_remote_nvim_instance(nvim_socket, command)
|
||||
end
|
||||
end
|
||||
@ -161,6 +162,26 @@ function Presence:authorize(on_done)
|
||||
end)
|
||||
end
|
||||
|
||||
-- Find the the IPC path in temp runtime directories
|
||||
function Presence.get_ipc_path()
|
||||
local env_vars = {
|
||||
"TEMP",
|
||||
"TMP",
|
||||
"TMPDIR",
|
||||
"XDG_RUNTIME_DIR",
|
||||
}
|
||||
|
||||
for i = 1, #env_vars do
|
||||
local var = env_vars[i]
|
||||
local path = vim.loop.os_getenv(var)
|
||||
if path then
|
||||
return path
|
||||
end
|
||||
end
|
||||
|
||||
return nil
|
||||
end
|
||||
|
||||
-- Gets the file path of the current vim buffer
|
||||
function Presence.get_current_buffer(on_buffer)
|
||||
vim.schedule(function()
|
||||
@ -270,7 +291,7 @@ function Presence:update_for_buffer(buffer)
|
||||
self.log:debug(string.format("Setting activity for %s...", buffer))
|
||||
|
||||
-- Send command to cancel presence for all remote Neovim instances
|
||||
self:cancel_all_remote_presences()
|
||||
self:cancel_all_remote_instances()
|
||||
|
||||
-- Parse vim buffer
|
||||
local filename = self.get_filename(buffer)
|
||||
|
Loading…
x
Reference in New Issue
Block a user