feat(ci): use new stylua config

This commit is contained in:
Barrett Ruth 2025-09-15 18:10:11 -04:00
parent c06a0d8a84
commit fe4cf2b680
20 changed files with 1581 additions and 1328 deletions

View file

@ -1,28 +1,32 @@
local M = {}
local logger = require("cp.log")
local logger = require('cp.log')
function M.setup(config)
local ok, ls = pcall(require, "luasnip")
if not ok then
logger.log("LuaSnip not available - snippets disabled", vim.log.levels.INFO)
return
end
local ok, ls = pcall(require, 'luasnip')
if not ok then
logger.log(
'LuaSnip not available - snippets disabled',
vim.log.levels.INFO
)
return
end
local s, i, fmt = ls.snippet, ls.insert_node, require("luasnip.extras.fmt").fmt
local s, i, fmt =
ls.snippet, ls.insert_node, require('luasnip.extras.fmt').fmt
local constants = require("cp.constants")
local filetype_to_language = constants.filetype_to_language
local constants = require('cp.constants')
local filetype_to_language = constants.filetype_to_language
local language_to_filetype = {}
for ext, lang in pairs(filetype_to_language) do
if not language_to_filetype[lang] then
language_to_filetype[lang] = ext
end
end
local language_to_filetype = {}
for ext, lang in pairs(filetype_to_language) do
if not language_to_filetype[lang] then
language_to_filetype[lang] = ext
end
end
local template_definitions = {
cpp = {
codeforces = [[#include <bits/stdc++.h>
local template_definitions = {
cpp = {
codeforces = [[#include <bits/stdc++.h>
using namespace std;
@ -43,7 +47,7 @@ int main() {{
return 0;
}}]],
atcoder = [[#include <bits/stdc++.h>
atcoder = [[#include <bits/stdc++.h>
using namespace std;
@ -68,7 +72,7 @@ int main() {{
return 0;
}}]],
cses = [[#include <bits/stdc++.h>
cses = [[#include <bits/stdc++.h>
using namespace std;
@ -79,10 +83,10 @@ int main() {{
return 0;
}}]],
},
},
python = {
codeforces = [[def solve():
python = {
codeforces = [[def solve():
{}
if __name__ == "__main__":
@ -90,41 +94,44 @@ if __name__ == "__main__":
for _ in range(tc):
solve()]],
atcoder = [[def solve():
atcoder = [[def solve():
{}
if __name__ == "__main__":
solve()]],
cses = [[{}]],
},
}
cses = [[{}]],
},
}
local user_overrides = {}
for _, snippet in ipairs(config.snippets or {}) do
user_overrides[snippet.trigger] = snippet
end
local user_overrides = {}
for _, snippet in ipairs(config.snippets or {}) do
user_overrides[snippet.trigger] = snippet
end
for language, template_set in pairs(template_definitions) do
local snippets = {}
local filetype = constants.canonical_filetypes[language]
for language, template_set in pairs(template_definitions) do
local snippets = {}
local filetype = constants.canonical_filetypes[language]
for contest, template in pairs(template_set) do
local prefixed_trigger = ("cp.nvim/%s.%s"):format(contest, language)
if not user_overrides[prefixed_trigger] then
table.insert(snippets, s(prefixed_trigger, fmt(template, { i(1) })))
end
end
for contest, template in pairs(template_set) do
local prefixed_trigger = ('cp.nvim/%s.%s'):format(contest, language)
if not user_overrides[prefixed_trigger] then
table.insert(
snippets,
s(prefixed_trigger, fmt(template, { i(1) }))
)
end
end
for trigger, snippet in pairs(user_overrides) do
local prefix_match = trigger:match("^cp%.nvim/[^.]+%.(.+)$")
if prefix_match == language then
table.insert(snippets, snippet)
end
end
for trigger, snippet in pairs(user_overrides) do
local prefix_match = trigger:match('^cp%.nvim/[^.]+%.(.+)$')
if prefix_match == language then
table.insert(snippets, snippet)
end
end
ls.add_snippets(filetype, snippets)
end
ls.add_snippets(filetype, snippets)
end
end
return M