my demo first config lua
This commit is contained in:
186
current_config/lua/alpha/telescope/init.lua
Normal file
186
current_config/lua/alpha/telescope/init.lua
Normal file
@@ -0,0 +1,186 @@
|
||||
local SHOULD_RELOAD_TELESCOPE = false
|
||||
|
||||
local reloader = function()
|
||||
if SHOULD_RELOAD_TELESCOPE then
|
||||
Reload "plenary"
|
||||
Reload "telescope"
|
||||
Reload "alpha.telescope.setup"
|
||||
end
|
||||
end
|
||||
|
||||
local fb_actions = require("telescope").extensions.file_browser.actions
|
||||
local actions = require "telescope.actions"
|
||||
local my_actions = require "alpha.telescope.my_actions"
|
||||
|
||||
local M = {}
|
||||
|
||||
function M.project_files()
|
||||
local opts = { show_untracked = true } -- define here if you want to define something
|
||||
local ok = pcall(require("telescope.builtin").git_files, opts)
|
||||
if not ok then
|
||||
require("telescope.builtin").find_files(opts)
|
||||
end
|
||||
end
|
||||
|
||||
function M.branches()
|
||||
require("telescope.builtin").git_branches {
|
||||
attach_mappings = function(_, map)
|
||||
map("i", "<c-j>", actions.git_create_branch)
|
||||
map("n", "<c-j>", actions.git_create_branch)
|
||||
return true
|
||||
end,
|
||||
}
|
||||
end
|
||||
|
||||
function M.search_config()
|
||||
require("telescope.builtin").git_files {
|
||||
prompt_title = "< Dotfiles >",
|
||||
cwd = "$HOME/.dotfiles",
|
||||
show_untracked = true,
|
||||
}
|
||||
end
|
||||
|
||||
M.find_nvim_config = function()
|
||||
require("telescope.builtin").find_files {
|
||||
prompt_title = "< Neovim >",
|
||||
cwd = "$HOME/.config/nvim/",
|
||||
}
|
||||
end
|
||||
|
||||
M.find_nvim_plugin = function()
|
||||
require("telescope.builtin").find_files {
|
||||
prompt_title = "< Plugins >",
|
||||
cwd = "$HOME/.config/nvim/lua/plugins/",
|
||||
attach_mappings = function(_, map)
|
||||
map("i", "<C-y>", my_actions.create_plugin)
|
||||
map("i", "<C-w>", my_actions.disable_plugin)
|
||||
map("i", "<C-e>", my_actions.enable_plugin)
|
||||
|
||||
return true
|
||||
end,
|
||||
}
|
||||
end
|
||||
|
||||
function M.grep_string()
|
||||
vim.ui.input({ prompt = "Grep for > " }, function(input)
|
||||
if input == nil then
|
||||
return
|
||||
end
|
||||
require("telescope.builtin").grep_string { search = input }
|
||||
end)
|
||||
end
|
||||
|
||||
function M.grep_word()
|
||||
require("telescope.builtin").grep_string { search = vim.fn.expand "<cword>" }
|
||||
end
|
||||
|
||||
function M.find_symbol()
|
||||
vim.ui.input({ prompt = "Symbol for > " }, function(input)
|
||||
if input == nil then
|
||||
return
|
||||
end
|
||||
require("telescope.builtin").lsp_workspace_symbols { query = input }
|
||||
end)
|
||||
end
|
||||
|
||||
function M.my_plugins()
|
||||
if vim.fn.isdirectory(vim.fn.getenv "HOME" .. "/code/plugins/") == 0 then
|
||||
vim.notify("Directory ~/code/plugins does not exists", vim.log.levels.WARN, { title = "Telescope Mappings" })
|
||||
return
|
||||
end
|
||||
require("telescope.builtin").find_files {
|
||||
cwd = "~/code/plugins/",
|
||||
}
|
||||
end
|
||||
|
||||
function M.scratchs()
|
||||
require("telescope.builtin").find_files {
|
||||
prompt_title = "Scratchs",
|
||||
no_ignore = true,
|
||||
cwd = "~/.config/nvim/lua/scratchs/",
|
||||
attach_mappings = function(_, map)
|
||||
map("i", "<c-t>", my_actions.create_scratch_file)
|
||||
|
||||
return true
|
||||
end,
|
||||
}
|
||||
end
|
||||
|
||||
function M.projectionist()
|
||||
return require("telescope").extensions.projectionist.projectionist()
|
||||
end
|
||||
|
||||
function M.laravel_commands()
|
||||
return require("telescope").extensions.laravel.laravel()
|
||||
end
|
||||
|
||||
function M.api_specs()
|
||||
if vim.fn.isdirectory "./api-specification" == 0 then
|
||||
vim.notify("Directory api-specification does not exists", vim.log.levels.WARN, { title = "Telescope Mappings" })
|
||||
return
|
||||
end
|
||||
require("telescope.builtin").git_files {
|
||||
cwd = "./api-specification",
|
||||
show_untracked = true,
|
||||
}
|
||||
end
|
||||
|
||||
function M.worktree()
|
||||
return require("telescope").extensions.git_worktree.git_worktrees()
|
||||
end
|
||||
|
||||
function M.worktree_create()
|
||||
return require("telescope").extensions.git_worktree.create_git_worktree()
|
||||
end
|
||||
|
||||
function M.refactor()
|
||||
return require("telescope").extensions.refactoring.refactors()
|
||||
end
|
||||
|
||||
function M.gateway()
|
||||
return require("alpha.php.gateway").graphql_definitions {
|
||||
layout_config = {
|
||||
horizontal = {
|
||||
preview_width = function(_, cols, _)
|
||||
return math.floor(cols * 0.7)
|
||||
end,
|
||||
},
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
function M.file_browser_relative()
|
||||
return M.file_browser { path = "%:p:h" }
|
||||
end
|
||||
|
||||
function M.file_browser(opts)
|
||||
opts = opts or {}
|
||||
|
||||
opts = {
|
||||
path = opts.path,
|
||||
sorting_strategy = "ascending",
|
||||
scroll_strategy = "cycle",
|
||||
layout_config = {
|
||||
prompt_position = "top",
|
||||
},
|
||||
|
||||
attach_mappings = function(_, map)
|
||||
map("i", "<c-y>", fb_actions.create_from_prompt)
|
||||
|
||||
return true
|
||||
end,
|
||||
}
|
||||
|
||||
return require("telescope").extensions.file_browser.file_browser(opts)
|
||||
end
|
||||
|
||||
return setmetatable({}, {
|
||||
__index = function(_, k)
|
||||
reloader()
|
||||
if M[k] then
|
||||
return M[k]
|
||||
else
|
||||
return require("telescope.builtin")[k]
|
||||
end
|
||||
end,
|
||||
})
|
||||
Reference in New Issue
Block a user