Add searching for Fig files

This commit is contained in:
Christian Nieves
2024-06-03 18:19:12 +00:00
parent 6e639bf24a
commit c233e7b78d
5 changed files with 74 additions and 12 deletions

View File

@ -2,8 +2,6 @@ local map = require("utils").map
local use_google = require("utils").use_google local use_google = require("utils").use_google
if use_google() then if use_google() then
map("n", "<leader>tm", ":Telescope citc modified<CR>")
-- [F]ig [S]tatus -- [F]ig [S]tatus
map("n", "<leader>fs", [[<cmd>lua require('telescope').extensions.fig.status{}<CR>]]) map("n", "<leader>fs", [[<cmd>lua require('telescope').extensions.fig.status{}<CR>]])

View File

@ -1,7 +1,28 @@
local use_google = require("utils").use_google local use_google = require("utils").use_google
local buf_too_large = require("utils").buf_too_large
return { return {
"RRethy/vim-illuminate", {
"RRethy/vim-illuminate",
config = function()
local aug = vim.api.nvim_create_augroup("buf_large", { clear = true })
vim.api.nvim_create_autocmd({ "BufReadPre" }, {
callback = function()
if buf_too_large() then
vim.b.large_buf = true
vim.cmd("syntax off")
vim.cmd("IlluminatePauseBuf") -- disable vim-illuminate
vim.opt_local.foldmethod = "manual"
vim.opt_local.spell = false
else
vim.b.large_buf = false
end
end,
group = aug,
pattern = "*",
})
end,
},
"kdheepak/lazygit.nvim", "kdheepak/lazygit.nvim",
"flwyd/vim-conjoin", "flwyd/vim-conjoin",
"rafcamlet/nvim-luapad", "rafcamlet/nvim-luapad",
@ -21,6 +42,9 @@ return {
opts = { opts = {
-- add any custom options here -- add any custom options here
}, },
keys = {
{ "<leader>s", [[<cmd>lua require("persistence").load()<cr>]] },
},
}, },
{ {
"johmsalas/text-case.nvim", "johmsalas/text-case.nvim",

View File

@ -48,11 +48,11 @@ return {
if lang == "gdrama" then if lang == "gdrama" then
return true return true
end end
local file_too_large = require("utils").file_too_large
local max_filesize = 100 * 1024 -- 100 KB
local fname = vim.api.nvim_buf_get_name(buf) local fname = vim.api.nvim_buf_get_name(buf)
local ok, stats = pcall(vim.loop.fs_stat, fname)
if ok and stats and stats.size > max_filesize then if file_too_large(fname) then
vim.schedule(function() vim.schedule(function()
vim.notify( vim.notify(
string.format( string.format(
@ -63,6 +63,7 @@ return {
end) end)
return true return true
end end
return false
end, end,
-- Setting this to true will run `:h syntax` and tree-sitter at the same time. -- Setting this to true will run `:h syntax` and tree-sitter at the same time.

View File

@ -1,4 +1,5 @@
local use_google = require("utils").use_google local use_google = require("utils").use_google
local exec = require("utils").exec
local TableConcat = require("utils").TableConcat local TableConcat = require("utils").TableConcat
local scopes = require("neoscopes") local scopes = require("neoscopes")
@ -20,12 +21,17 @@ _G.search_cwd = function()
builtin.find_files({ cwd = utils.buffer_dir() }) builtin.find_files({ cwd = utils.buffer_dir() })
end end
_G.live_grep = function() _G.live_grep = function(search_dirs)
require("telescope.builtin").live_grep({ require("telescope.builtin").live_grep({
search_dirs = scopes.get_current_dirs(), search_dirs = search_dirs,
-- search_dirs = ,
}) })
end end
local function exe(cmd)
return vim.split(vim.fn.system(cmd), "\n")
end
local function get_visual_selection() local function get_visual_selection()
-- Yank current visual selection into the 'v' register -- Yank current visual selection into the 'v' register
-- --
@ -35,16 +41,21 @@ local function get_visual_selection()
return vim.fn.getreg("v") return vim.fn.getreg("v")
end end
function fig_modified()
return exe("hg pstatus -ma -n --no-status --template=")
end
function fig_all_modified()
return exe("hg status -ma -n --rev p4base --no-status --template=")
end
local keys = { local keys = {
{ "<C-P>", ":lua find_files()<CR>", desc = "Find Files in CWD" }, { "<C-P>", ":lua find_files(scopes.get_current_dirs())<CR>", desc = "Find Files in CWD" },
{ "<leader>e", ":lua search_cwd()<CR>", desc = "Find Files in Buffer Directory" }, { "<leader>e", ":lua search_cwd()<CR>", desc = "Find Files in Buffer Directory" },
{ "<leader>tc", ":Telescope textcase<CR>", desc = "Text case" }, { "<leader>tc", ":Telescope textcase<CR>", desc = "Text case" },
{ "<leader>t.", ":lua find_dotfiles()<CR>", desc = "Find Dotfiles" }, { "<leader>t.", ":lua find_dotfiles()<CR>", desc = "Find Dotfiles" },
{ "<leader>tdc", ":Telescope dap commands" }, { "<leader>tdc", ":Telescope dap commands" },
{ "<leader>tdc", ":Telescope dap configurations" }, { "<leader>tdc", ":Telescope dap configurations" },
{ "<leader>td", ":lua find_dotfiles()<CR>", desc = "Find Dotfiles" }, { "<leader>td", ":lua find_dotfiles()<CR>", desc = "Find Dotfiles" },
{ "<leader>tf", ":lua find_files()<CR>", desc = "Find Files in CWD" },
{ "<leader>tf.", ":lua vim.error('use <leader>e')<CR>", desc = "Find Files in Buffer Directory" },
{ "<leader>tg", ":Telescope git_files<CR>", desc = "Git Files" }, { "<leader>tg", ":Telescope git_files<CR>", desc = "Git Files" },
{ "<leader>th", ":lua require('telescope.builtin').help_tags{}<CR>", desc = "[T]elescope [H]elp" }, { "<leader>th", ":lua require('telescope.builtin').help_tags{}<CR>", desc = "[T]elescope [H]elp" },
{ "<leader>tk", ":Telescope keymaps<CR>", desc = "Keymaps" }, { "<leader>tk", ":Telescope keymaps<CR>", desc = "Keymaps" },
@ -52,11 +63,15 @@ local keys = {
{ "<leader>tn", ":Telescope notify<CR>", desc = "Notifications" }, { "<leader>tn", ":Telescope notify<CR>", desc = "Notifications" },
{ "<leader>to", ":Telescope oldfiles<CR>", desc = "Recent(oldfiles) Files" }, { "<leader>to", ":Telescope oldfiles<CR>", desc = "Recent(oldfiles) Files" },
{ "<leader>tr", ":Telescope resume<CR>", desc = "Telescope Resume" }, { "<leader>tr", ":Telescope resume<CR>", desc = "Telescope Resume" },
{ "<leader>ts", ":lua live_grep()<CR>", desc = "Search in CWD" }, { "<leader>ts", ":lua live_grep(scopes.get_current_dirs())<CR>", desc = "Search in CWD" },
} }
if use_google() then if use_google() then
TableConcat(keys, { TableConcat(keys, {
{ "<leader>tm", ":lua find_files(fig_modified())" },
{ "<leader>tM", ":lua find_files(fig_all_modified())" },
{ "<leader>tF", ":lua live_grep(fig_all_modified())<CR>", desc = "Search in *all* modified Fig files." },
{ "<leader>tf", ":lua live_grep(fig_modified())<CR>", desc = "Search in modified Fig files." },
{ "<C-P>", [[<cmd>lua require('telescope').extensions.codesearch.find_files{}<CR>]], "n" }, { "<C-P>", [[<cmd>lua require('telescope').extensions.codesearch.find_files{}<CR>]], "n" },
{ "<leader>cs", [[<cmd>lua require('telescope').extensions.codesearch.find_query{}<CR>]] }, { "<leader>cs", [[<cmd>lua require('telescope').extensions.codesearch.find_query{}<CR>]] },
{ "<leader>cs", [[<cmd>lua require('telescope').extensions.codesearch.find_query{}<CR>]], mode = "v" }, { "<leader>cs", [[<cmd>lua require('telescope').extensions.codesearch.find_query{}<CR>]], mode = "v" },

View File

@ -2,6 +2,17 @@ local M = {
use_google_cache = nil, use_google_cache = nil,
} }
function M.exec(command, args)
local Job = require("plenary.job")
local job = Job:new({
command = command,
args = args,
})
job:sync()
job:wait()
return job:result()
end
function M.map(mode, lhs, rhs, opts) function M.map(mode, lhs, rhs, opts)
local options = { noremap = true } local options = { noremap = true }
if opts then if opts then
@ -11,6 +22,19 @@ function M.map(mode, lhs, rhs, opts)
vim.keymap.set(mode, lhs, rhs, options) vim.keymap.set(mode, lhs, rhs, options)
end end
function M.file_too_large(filename)
local max_filesize = 100 * 1024 -- 100 KB
local ok, stats = pcall(vim.loop.fs_stat, filename)
if ok and stats and stats.size > max_filesize then
return true
end
return false
end
function M.buf_too_large()
return M.file_too_large(vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf()))
end
function M.use_google() function M.use_google()
if M.use_google_cache == nil then if M.use_google_cache == nil then
M.use_google_cache = M.file_exists(os.getenv("HOME") .. "/use_google") M.use_google_cache = M.file_exists(os.getenv("HOME") .. "/use_google")