diff options
author | Daniil Rozanov <daniilrozzanov@gmail.com> | 2024-04-24 03:34:52 +0300 |
---|---|---|
committer | Daniil Rozanov <daniilrozzanov@gmail.com> | 2024-04-24 03:34:52 +0300 |
commit | f9b36bf730fda5488be87b91fd03a6f7cbf64e73 (patch) | |
tree | d8a7da573111d40c0e51c9e9954a3bb1977dd39c /lua/cmake-explorer/telescope | |
parent | 672f0d32e322b79661b5d7959887adaa9e41ad98 (diff) |
refactor: full rewrite
Diffstat (limited to 'lua/cmake-explorer/telescope')
-rw-r--r-- | lua/cmake-explorer/telescope/make_entry.lua | 57 | ||||
-rw-r--r-- | lua/cmake-explorer/telescope/pickers.lua | 103 | ||||
-rw-r--r-- | lua/cmake-explorer/telescope/previewers.lua | 40 | ||||
-rw-r--r-- | lua/cmake-explorer/telescope/test.lua | 46 |
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() |