aboutsummaryrefslogtreecommitdiff
path: root/lua/cmake-explorer/telescope
diff options
context:
space:
mode:
authorDaniil Rozanov <daniilrozzanov@gmail.com>2024-04-24 03:34:52 +0300
committerDaniil Rozanov <daniilrozzanov@gmail.com>2024-04-24 03:34:52 +0300
commitf9b36bf730fda5488be87b91fd03a6f7cbf64e73 (patch)
treed8a7da573111d40c0e51c9e9954a3bb1977dd39c /lua/cmake-explorer/telescope
parent672f0d32e322b79661b5d7959887adaa9e41ad98 (diff)
refactor: full rewrite
Diffstat (limited to 'lua/cmake-explorer/telescope')
-rw-r--r--lua/cmake-explorer/telescope/make_entry.lua57
-rw-r--r--lua/cmake-explorer/telescope/pickers.lua103
-rw-r--r--lua/cmake-explorer/telescope/previewers.lua40
-rw-r--r--lua/cmake-explorer/telescope/test.lua46
4 files changed, 0 insertions, 246 deletions
diff --git a/lua/cmake-explorer/telescope/make_entry.lua b/lua/cmake-explorer/telescope/make_entry.lua
deleted file mode 100644
index cc919bd..0000000
--- a/lua/cmake-explorer/telescope/make_entry.lua
+++ /dev/null
@@ -1,57 +0,0 @@
-local make_entry = require("telescope.make_entry")
-local entry_display = require("telescope.pickers.entry_display")
-local config = require("cmake-explorer.config")
-
-local M = {}
-
-M.gen_from_configure = function(opts)
- local project = require("cmake-explorer").project
- local displayer = entry_display.create({
- separator = " ",
- items = {
- { width = project.display.short_len + 5 },
- { remaining = true },
- },
- })
- local make_display = function(entry)
- vim.print(entry)
- return displayer({
- { entry.value.display.short, "TelescopeResultsIdentifier" },
- { entry.value.display.long, "TelescopeResultsComment" },
- })
- end
- return function(entry)
- return make_entry.set_default_entry_mt({
- value = entry,
- ordinal = table.concat(entry.short, config.variants_display.short_sep),
- display = make_display,
- }, opts)
- end
-end
-
-M.gen_from_build = function(opts)
- local project = require("cmake-explorer").project
- local displayer = entry_display.create({
- separator = " ",
- items = {
- { width = project.display.short_len + 5 },
- { remaining = true },
- },
- })
- local make_display = function(entry)
- vim.print(entry)
- return displayer({
- { entry.value.display.short, "TelescopeResultsIdentifier" },
- { entry.value.display.long, "TelescopeResultsComment" },
- })
- end
- return function(entry)
- return make_entry.set_default_entry_mt({
- value = entry,
- ordinal = table.concat(entry.short, config.variants_display.short_sep),
- display = make_display,
- }, opts)
- end
-end
-
-return M
diff --git a/lua/cmake-explorer/telescope/pickers.lua b/lua/cmake-explorer/telescope/pickers.lua
deleted file mode 100644
index b2c7f56..0000000
--- a/lua/cmake-explorer/telescope/pickers.lua
+++ /dev/null
@@ -1,103 +0,0 @@
-local pickers = require("telescope.pickers")
-local finders = require("telescope.finders")
-local conf = require("telescope.config").values
-local actions = require("telescope.actions")
-local action_state = require("telescope.actions.state")
-local cmake_make_entry = require("cmake-explorer.telescope.make_entry")
-local notif = require("cmake-explorer.notification")
-local previewers = require("cmake-explorer.telescope.previewers")
-
-local M = {}
-
-M.build_dirs = function(opts)
- local cmake = require("cmake-explorer")
- pickers
- .new(opts, {
- prompt_title = "CMake Builds",
- finder = finders.new_table({
- results = cmake.project.fileapis,
- -- entry_maker = cmake_make_entry.gen_from_fileapi(opts),
- entry_maker = function(entry)
- return {
- value = entry,
- display = entry.path,
- ordinal = entry.path,
- }
- end,
- sorter = conf.generic_sorter(opts),
- -- attach_mappings = function(prompt_bufnr, map)
- -- actions.select_default:replace(function() end)
- -- return true
- -- end,
- }),
- })
- :find()
-end
-
-M.configure = function(opts)
- local cmake = require("cmake-explorer")
- local runner = require("cmake-explorer.runner")
- opts.layout_strategy = "vertical"
- opts.layout_config = {
- prompt_position = "top",
- preview_cutoff = 0,
- preview_height = 5,
- mirror = true,
- }
- pickers
- .new(opts, {
- default_selection_index = cmake.project:current_configure_index(),
- prompt_title = "CMake Configure Options",
- finder = finders.new_table({
- results = cmake.project:list_configs(),
- entry_maker = cmake_make_entry.gen_from_configure(opts),
- }),
- sorter = conf.generic_sorter(opts),
- previewer = previewers.configure_previewer(),
- attach_mappings = function(prompt_bufnr, map)
- actions.select_default:replace(function()
- actions.close(prompt_bufnr)
- local selection = action_state.get_selected_entry()
- cmake.project.current_config = selection.value
- runner.start(selection.value.configure_command)
- end)
- return true
- end,
- })
- :find()
-end
-
-M.build = function(opts)
- local cmake = require("cmake-explorer")
- local runner = require("cmake-explorer.runner")
- opts.layout_strategy = "vertical"
- opts.layout_config = {
- prompt_position = "top",
- preview_cutoff = 0,
- preview_height = 5,
- mirror = true,
- }
- pickers
- .new(opts, {
- default_selection_index = cmake.project:current_build_index(),
- prompt_title = "CMake Build Options",
- finder = finders.new_table({
- results = cmake.project:list_builds(),
- entry_maker = cmake_make_entry.gen_from_configure(opts),
- }),
- sorter = conf.generic_sorter(opts),
- previewer = previewers.build_previewer(),
- attach_mappings = function(prompt_bufnr, map)
- actions.select_default:replace(function()
- actions.close(prompt_bufnr)
- local selection = action_state.get_selected_entry()
- cmake.project.current_config = selection.value
- runner.start(selection.value.build_command)
- end)
- return true
- end,
- })
- :find()
-end
-
-return M
diff --git a/lua/cmake-explorer/telescope/previewers.lua b/lua/cmake-explorer/telescope/previewers.lua
deleted file mode 100644
index 39fea4a..0000000
--- a/lua/cmake-explorer/telescope/previewers.lua
+++ /dev/null
@@ -1,40 +0,0 @@
-local previewers = require("telescope.previewers")
-local config = require("cmake-explorer.config")
-
-local M = {}
-
-M.configure_previewer = function(opts)
- return previewers.new_buffer_previewer({
- title = "Configure Details",
-
- define_preview = function(self, entry)
- if self.state.bufname then
- return
- end
- local entries = {
- "Command:",
- config.cmake_path .. " " .. table.concat(entry.value.configure_args, " "),
- }
- vim.api.nvim_buf_set_lines(self.state.bufnr, 0, -1, false, entries)
- end,
- })
-end
-
-M.build_previewer = function(opts)
- return previewers.new_buffer_previewer({
- title = "Build Details",
-
- define_preview = function(self, entry)
- if self.state.bufname then
- return
- end
- local entries = {
- "Command:",
- config.cmake_path .. " " .. table.concat(entry.value.build_args, " "),
- }
- vim.api.nvim_buf_set_lines(self.state.bufnr, 0, -1, false, entries)
- end,
- })
-end
-
-return M
diff --git a/lua/cmake-explorer/telescope/test.lua b/lua/cmake-explorer/telescope/test.lua
deleted file mode 100644
index 7b8bb00..0000000
--- a/lua/cmake-explorer/telescope/test.lua
+++ /dev/null
@@ -1,46 +0,0 @@
-local pickers = require("telescope.pickers")
-local finders = require("telescope.finders")
-local conf = require("telescope.config").values
-local actions = require("telescope.actions")
-local action_state = require("telescope.actions.state")
-
--- our picker function: colors
-local colors = function(opts)
- opts = opts or {}
- pickers
- .new(opts, {
- prompt_title = "colors",
- finder = finders.new_table({
- results = {
- { "red", "#ff0000" },
- { "green", "#00ff00" },
- { "blue", "#0000ff" },
- },
- entry_maker = function(entry)
- return {
- value = entry,
- display = entry[1],
- ordinal = entry[1],
- }
- end,
- }),
- sorter = conf.generic_sorter(opts),
- attach_mappings = function(prompt_bufnr, map)
- map({ "i", "n" }, "<C-r>", function(_prompt_bufnr)
- print("You typed <C-r>")
- end)
-
- actions.select_default:replace(function()
- actions.close(prompt_bufnr)
- local selection = action_state.get_selected_entry()
- -- print(vim.inspect(selection))
- vim.api.nvim_put({ selection[1] }, "", false, true)
- end)
- return true
- end,
- })
- :find()
-end
-
--- to execute the function
-colors()