dotfiles/.config/nvim/lua/teaching.lua

56 lines
1.4 KiB
Lua

local teaching = {}
local function ends_with(path, extension)
return string.sub(path, -#extension) == extension
end
local function should_load(path)
local ignore = {
[1] = "rapidjson",
[2] = "json.hpp",
[3] = "build",
[4] = "third-party",
[5] = "sfml/",
[5] = "SFML/",
[6] = "TinyXML"
}
local match = {
[1] = ".hpp",
[2] = ".h",
[3] = ".cpp",
[4] = ".c",
}
for _, pattern in ipairs(ignore) do
if string.find(path, pattern, 0, true) then
return false
end
end
for _, pattern in ipairs(match) do
if ends_with(path, pattern) then
return true
end
end
return false
end
function teaching.load()
require("trouble").open()
require("nvim-tree").open()
local scan = require("plenary.scandir").scan_dir('.')
local cwd = vim.fn.getcwd()
for _, v in ipairs(scan) do
local filename = vim.fs.normalize(v)
if should_load(v) then
vim.api.nvim_set_current_dir(cwd)
local buf_id = vim.fn.bufadd(filename)
vim.api.nvim_set_current_buf(buf_id)
vim.api.nvim_buf_set_option(buf_id, "buflisted", true)
end
end
vim.api.nvim_set_current_dir(cwd)
end
vim.api.nvim_create_user_command("AP", teaching.load, {})
return teaching