Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
feat(plugin): fix formatting
  • Loading branch information
cosmic-bytes committed Jun 12, 2024
commit d61031f4814ad3fc65f77f4d6df08c681cfa19e1
174 changes: 87 additions & 87 deletions lua/css-vars/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,102 +6,102 @@ local default_filetypes = { "css", "less", "scss" }
local M = {}

M.setup = function(user_opts)
if registered then
return
end
registered = true
if registered then
return
end
registered = true

user_opts = user_opts or {}
local filetypes = user_opts.filetypes or default_filetypes
user_opts = user_opts or {}
local filetypes = user_opts.filetypes or default_filetypes

Job:new({
command = "rg",
args = {
"-e",
"[^\\w](--[^:)]*):",
"-r",
"'$1'",
"-o",
"--no-filename",
"-g",
"*.css",
"-g",
"*.less",
"-g",
"*.scss",
vim.loop.cwd(),
},
env = { PATH = vim.env.PATH },
on_exit = function(j)
local result = j:result()
vim.schedule(function()
local has_cmp, cmp = pcall(require, "cmp")
if not has_cmp then
return
end
Job:new({
command = "rg",
args = {
"-e",
"[^\\w](--[^:)]*):",
"-r",
"'$1'",
"-o",
"--no-filename",
"-g",
"*.css",
"-g",
"*.less",
"-g",
"*.scss",
vim.loop.cwd(),
},
env = { PATH = vim.env.PATH },
on_exit = function(j)
local result = j:result()
vim.schedule(function()
local has_cmp, cmp = pcall(require, "cmp")
if not has_cmp then
return
end

local source = {}
local source = {}

source.new = function()
return setmetatable({}, { __index = source })
end
source.new = function()
return setmetatable({}, { __index = source })
end

source.get_trigger_characters = function()
return { "-" }
end
source.get_trigger_characters = function()
return { "-" }
end

source.complete = function(_, request, callback)
if not vim.tbl_contains(filetypes, request.context.filetype) then
callback({ isIncomplete = true })
return
end
source.complete = function(_, request, callback)
if not vim.tbl_contains(filetypes, request.context.filetype) then
callback({ isIncomplete = true })
return
end

local input = string.sub(request.context.cursor_before_line, request.offset - 1)
local prefix = string.sub(request.context.cursor_before_line, 1, request.offset - 1)
local input = string.sub(request.context.cursor_before_line, request.offset - 1)
local prefix = string.sub(request.context.cursor_before_line, 1, request.offset - 1)

local trigger = "-"
if vim.startswith(input, trigger) and (prefix == trigger or vim.endswith(prefix, trigger)) then
local items = {}
local processed = {}
for _, item in pairs(result) do
local css_var = (item:gsub("'%-(.*)'", "%1"))
if processed[css_var] then
goto continue
end
processed[css_var] = true
table.insert(items, {
filterText = css_var,
label = "-" .. css_var,
kind = 6,
textEdit = {
newText = css_var,
range = {
start = {
line = request.context.cursor.row - 1,
character = request.context.cursor.col - 1 - #input,
},
["end"] = {
line = request.context.cursor.row - 1,
character = request.context.cursor.col - 1,
},
},
},
})
::continue::
end
callback({
items = items,
isIncomplete = false,
})
else
callback({ isIncomplete = true })
end
end
local trigger = "-"
if vim.startswith(input, trigger) and (prefix == trigger or vim.endswith(prefix, trigger)) then
local items = {}
local processed = {}
for _, item in pairs(result) do
local css_var = (item:gsub("'%-(.*)'", "%1"))
if processed[css_var] then
goto continue
end
processed[css_var] = true
table.insert(items, {
filterText = css_var,
label = "-" .. css_var,
kind = 6,
textEdit = {
newText = css_var,
range = {
start = {
line = request.context.cursor.row - 1,
character = request.context.cursor.col - 1 - #input,
},
["end"] = {
line = request.context.cursor.row - 1,
character = request.context.cursor.col - 1,
},
},
},
})
::continue::
end
callback({
items = items,
isIncomplete = false,
})
else
callback({ isIncomplete = true })
end
end

cmp.register_source("css_vars", source.new())
end)
end,
}):start()
cmp.register_source("css_vars", source.new())
end)
end,
}):start()
end

return M