removed telesnip local dev
This commit is contained in:
parent
8ccd6b7b7b
commit
b36925682a
11 changed files with 28 additions and 214 deletions
10
init.lua
10
init.lua
|
@ -1,17 +1,9 @@
|
||||||
require("pika.core")
|
require("pika.core")
|
||||||
require("pika.lazy")
|
require("pika.lazy")
|
||||||
vim.api.nvim_create_user_command("Snippets", function()
|
|
||||||
require("telesnip").snippet_picker()
|
|
||||||
end, {})
|
|
||||||
|
|
||||||
-- ─< Call the function to set the desired colorscheme >────────────────────────────────
|
-- ─< Call the function to set the desired colorscheme >────────────────────────────────
|
||||||
-- ╭──────────────────────────────────────────────────────╮
|
-- ╭──────────────────────────────────────────────────────╮
|
||||||
-- │ themes are under ./lua/pika/plugins/colorschemes.lua │
|
-- │ themes are under ./lua/pika/plugins/colorschemes.lua │
|
||||||
-- ╰──────────────────────────────────────────────────────╯
|
-- ╰──────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
-- ─< Function to apply the colorscheme >───────────────────────────────────────────────
|
vim.cmd.colorscheme("oldworld")
|
||||||
local function apply_colorscheme(name)
|
|
||||||
vim.cmd.colorscheme(name)
|
|
||||||
end
|
|
||||||
|
|
||||||
apply_colorscheme("bluloco")
|
|
||||||
|
|
|
@ -6,6 +6,7 @@ nomap("i", "<C-k>", "")
|
||||||
nomap("n", "<C-k>", "")
|
nomap("n", "<C-k>", "")
|
||||||
nomap("n", "q", "")
|
nomap("n", "q", "")
|
||||||
nomap("v", "q", "")
|
nomap("v", "q", "")
|
||||||
|
nomap("v", "<leader>S", "")
|
||||||
|
|
||||||
local map = vim.keymap.set
|
local map = vim.keymap.set
|
||||||
|
|
||||||
|
@ -16,7 +17,7 @@ map("n", "<S-c>", "gcc", { desc = "comment toggle", remap = true })
|
||||||
map("v", "<S-c>", "gc", { desc = "comment toggle", remap = true })
|
map("v", "<S-c>", "gc", { desc = "comment toggle", remap = true })
|
||||||
|
|
||||||
-- ─< telesnip >────────────────────────────────────────────────────────────────────────
|
-- ─< telesnip >────────────────────────────────────────────────────────────────────────
|
||||||
map("n", "<leader>sp", "<cmd>:Snippets<CR>", { desc = "Snippets with telescope", remap = true })
|
-- map("n", "<leader>S", "<cmd>:Snippets<CR>", { desc = "Snippets with telescope", remap = true })
|
||||||
|
|
||||||
-- ─< cmd line >────────────────────────────────────────────────────────────────────────
|
-- ─< cmd line >────────────────────────────────────────────────────────────────────────
|
||||||
vim.api.nvim_set_keymap("n", ":", "<cmd>FineCmdline<CR>", { noremap = true })
|
vim.api.nvim_set_keymap("n", ":", "<cmd>FineCmdline<CR>", { noremap = true })
|
||||||
|
|
16
lua/pika/plugins/telesnip.lua
Normal file
16
lua/pika/plugins/telesnip.lua
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-- Example assuming you're configuring your plugin in lazy.nvim
|
||||||
|
return {
|
||||||
|
"https://git.k4li.de/pika/telesnip.nvim",
|
||||||
|
config = function()
|
||||||
|
-- Load your plugin
|
||||||
|
local telesnip = require("telesnip")
|
||||||
|
|
||||||
|
-- Define the :Snippets command
|
||||||
|
vim.api.nvim_create_user_command("Snippets", function()
|
||||||
|
telesnip.snippet_picker()
|
||||||
|
end, {})
|
||||||
|
|
||||||
|
-- Optional: Set up a keybinding if desired
|
||||||
|
vim.keymap.set("n", "<leader>S", ":Snippets<CR>", { desc = "Open Snippet Picker" })
|
||||||
|
end,
|
||||||
|
}
|
9
lua/pika/plugins/todo-nvim.lua
Normal file
9
lua/pika/plugins/todo-nvim.lua
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
return {
|
||||||
|
"folke/todo-comments.nvim",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
opts = {
|
||||||
|
-- your configuration comes here
|
||||||
|
-- or leave it empty to use the default settings
|
||||||
|
-- refer to the configuration section below
|
||||||
|
},
|
||||||
|
}
|
|
@ -1,71 +0,0 @@
|
||||||
local M = {}
|
|
||||||
|
|
||||||
local function get_snippets()
|
|
||||||
local snippets = {}
|
|
||||||
local base_path = vim.fn.stdpath("config") .. "/lua/telesnip/snippets/"
|
|
||||||
local languages = vim.fn.readdir(base_path)
|
|
||||||
|
|
||||||
for _, lang in ipairs(languages) do
|
|
||||||
local path = base_path .. lang
|
|
||||||
local files = vim.fn.glob(path .. "/*", false, true)
|
|
||||||
for _, file in ipairs(files) do
|
|
||||||
local snippet_name = vim.fn.fnamemodify(file, ":t")
|
|
||||||
table.insert(snippets, {
|
|
||||||
name = snippet_name,
|
|
||||||
path = file,
|
|
||||||
language = lang,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return snippets
|
|
||||||
end
|
|
||||||
|
|
||||||
M.snippet_picker = function()
|
|
||||||
local snippets = get_snippets()
|
|
||||||
|
|
||||||
local opts = require("telescope.themes").get_dropdown({})
|
|
||||||
require("telescope.pickers")
|
|
||||||
.new(opts, {
|
|
||||||
prompt_title = "Snippets",
|
|
||||||
finder = require("telescope.finders").new_table({
|
|
||||||
results = snippets,
|
|
||||||
entry_maker = function(entry)
|
|
||||||
return {
|
|
||||||
value = entry,
|
|
||||||
display = entry.name,
|
|
||||||
ordinal = entry.name,
|
|
||||||
path = entry.path,
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}),
|
|
||||||
sorter = require("telescope.config").values.generic_sorter(opts),
|
|
||||||
previewer = require("telescope.previewers").new_buffer_previewer({
|
|
||||||
define_preview = function(self, entry)
|
|
||||||
local lines = vim.fn.readfile(entry.path)
|
|
||||||
vim.api.nvim_buf_set_lines(self.state.bufnr, 0, -1, false, lines)
|
|
||||||
local ext = vim.fn.fnamemodify(entry.path, ":e")
|
|
||||||
vim.api.nvim_buf_set_option(self.state.bufnr, "filetype", ext)
|
|
||||||
end,
|
|
||||||
}),
|
|
||||||
attach_mappings = function(_, map)
|
|
||||||
map("i", "<CR>", function(prompt_bufnr)
|
|
||||||
local selection = require("telescope.actions.state").get_selected_entry()
|
|
||||||
local snippet_content = vim.fn.readfile(selection.path)
|
|
||||||
|
|
||||||
-- Close Telescope prompt
|
|
||||||
require("telescope.actions").close(prompt_bufnr)
|
|
||||||
|
|
||||||
-- Insert snippet directly into the buffer
|
|
||||||
vim.api.nvim_put(snippet_content, "l", true, true)
|
|
||||||
|
|
||||||
-- Notify user
|
|
||||||
print("Snippet inserted.")
|
|
||||||
end)
|
|
||||||
return true
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
:find()
|
|
||||||
end
|
|
||||||
|
|
||||||
return M
|
|
|
@ -1,102 +0,0 @@
|
||||||
local M = {}
|
|
||||||
|
|
||||||
local function get_snippets()
|
|
||||||
local snippets = {}
|
|
||||||
local base_path = vim.fn.stdpath("config") .. "/lua/telesnip/snippets/"
|
|
||||||
local languages = vim.fn.readdir(base_path)
|
|
||||||
|
|
||||||
print("Base path: " .. base_path)
|
|
||||||
print("Languages found: " .. vim.inspect(languages))
|
|
||||||
|
|
||||||
for _, lang in ipairs(languages) do
|
|
||||||
local path = base_path .. lang
|
|
||||||
local files = vim.fn.glob(path .. "/*", false, true)
|
|
||||||
print("Files found for " .. lang .. ": " .. vim.inspect(files))
|
|
||||||
for _, file in ipairs(files) do
|
|
||||||
local snippet_name = vim.fn.fnamemodify(file, ":t")
|
|
||||||
table.insert(snippets, {
|
|
||||||
name = snippet_name,
|
|
||||||
path = file,
|
|
||||||
language = lang,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
print("Snippets found: " .. vim.inspect(snippets))
|
|
||||||
return snippets
|
|
||||||
end
|
|
||||||
|
|
||||||
M.snippet_picker = function()
|
|
||||||
local snippets = get_snippets()
|
|
||||||
|
|
||||||
local opts = require("telescope.themes").get_dropdown({})
|
|
||||||
require("telescope.pickers")
|
|
||||||
.new(opts, {
|
|
||||||
prompt_title = "Snippets",
|
|
||||||
finder = require("telescope.finders").new_table({
|
|
||||||
results = snippets,
|
|
||||||
entry_maker = function(entry)
|
|
||||||
return {
|
|
||||||
value = entry,
|
|
||||||
display = entry.name,
|
|
||||||
ordinal = entry.name,
|
|
||||||
path = entry.path,
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}),
|
|
||||||
sorter = require("telescope.config").values.generic_sorter(opts),
|
|
||||||
previewer = require("telescope.previewers").new_buffer_previewer({
|
|
||||||
define_preview = function(self, entry)
|
|
||||||
local lines = vim.fn.readfile(entry.path)
|
|
||||||
vim.api.nvim_buf_set_lines(self.state.bufnr, 0, -1, false, lines)
|
|
||||||
local ext = vim.fn.fnamemodify(entry.path, ":e")
|
|
||||||
vim.api.nvim_buf_set_option(self.state.bufnr, "filetype", ext)
|
|
||||||
end,
|
|
||||||
}),
|
|
||||||
attach_mappings = function(_, map)
|
|
||||||
map("i", "<CR>", function(prompt_bufnr)
|
|
||||||
print("Mapping triggered")
|
|
||||||
local selection = require("telescope.actions.state").get_selected_entry()
|
|
||||||
print("Selected entry: " .. vim.inspect(selection))
|
|
||||||
|
|
||||||
local snippet_content = vim.fn.readfile(selection.path)
|
|
||||||
print("Snippet content (raw): " .. vim.inspect(snippet_content))
|
|
||||||
print("Snippet content (formatted):")
|
|
||||||
for i, line in ipairs(snippet_content) do
|
|
||||||
print(string.format("%d: %s", i, line))
|
|
||||||
end
|
|
||||||
|
|
||||||
local current_buf = vim.api.nvim_get_current_buf()
|
|
||||||
local win = vim.api.nvim_get_current_win()
|
|
||||||
local cursor = vim.api.nvim_win_get_cursor(win)
|
|
||||||
local row, col = cursor[1] - 1, cursor[2]
|
|
||||||
|
|
||||||
print(string.format("Inserting at buffer %d, row %d, col %d", current_buf, row, col))
|
|
||||||
|
|
||||||
-- Insert snippet content at the current cursor position
|
|
||||||
vim.api.nvim_buf_set_text(current_buf, row, col, row, col, snippet_content)
|
|
||||||
|
|
||||||
-- Move cursor to the end of the inserted snippet
|
|
||||||
local new_row = row + #snippet_content
|
|
||||||
local new_col = #snippet_content[#snippet_content]
|
|
||||||
vim.api.nvim_win_set_cursor(win, { new_row, new_col })
|
|
||||||
|
|
||||||
print(string.format("Cursor moved to row %d, col %d", new_row, new_col))
|
|
||||||
|
|
||||||
-- Close Telescope prompt
|
|
||||||
require("telescope.actions").close(prompt_bufnr)
|
|
||||||
|
|
||||||
-- Schedule entering insert mode
|
|
||||||
vim.schedule(function()
|
|
||||||
vim.cmd("stopinsert")
|
|
||||||
vim.cmd("startinsert!")
|
|
||||||
print("Entered insert mode")
|
|
||||||
end)
|
|
||||||
end)
|
|
||||||
return true
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
:find()
|
|
||||||
end
|
|
||||||
|
|
||||||
return M
|
|
|
@ -1,15 +0,0 @@
|
||||||
# Check if the user is root and set sudo variable if necessary
|
|
||||||
check_root() {
|
|
||||||
if [[ "${EUID}" -ne 0 ]]; then
|
|
||||||
if command_exists sudo; then
|
|
||||||
echo_binfo "User is not root. Using sudo for privileged operations."
|
|
||||||
_sudo="sudo"
|
|
||||||
else
|
|
||||||
echo_error "No sudo found and you're not root! Can't install packages."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo_binfo "Root access confirmed."
|
|
||||||
_sudo=""
|
|
||||||
fi
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
# ─< Check if the given command exists silently >─────────────────────────────────────────
|
|
||||||
command_exists() {
|
|
||||||
command -v "$@" >/dev/null 2>&1
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
# ─< get the current ip as a 1 line >─────────────────────────────────────────────────────
|
|
||||||
get_ip() {
|
|
||||||
command ip a | command grep 'inet ' | command grep -v '127.0.0.1' | command awk '{print $2}' | command cut -d/ -f1 | head -n 1
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
# ─< Helper functions >─────────────────────────────────────────────────────────────────
|
|
||||||
function echo_error() { echo -e "\033[0;1;31mError: \033[0;31m\t${*}\033[0m"; }
|
|
||||||
function echo_binfo() { echo -e "\033[0;1;34mINFO: \033[0;34m\t${*}\033[0m"; }
|
|
||||||
function echo_info() { echo -e "\033[0;1;35mInfo: \033[0;35m${*}\033[0m"; }
|
|
|
@ -1,4 +0,0 @@
|
||||||
# ─< Silent execution >─────────────────────────────────────────────────────────────────
|
|
||||||
silentexec() {
|
|
||||||
"$@" >/dev/null 2>&1
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue