aboutsummaryrefslogtreecommitdiffstats
path: root/lua/alpha
diff options
context:
space:
mode:
Diffstat (limited to 'lua/alpha')
-rw-r--r--lua/alpha/php_code_actions.lua160
-rw-r--r--lua/alpha/plugins.lua1
-rw-r--r--lua/alpha/telescope/setup.lua1
3 files changed, 2 insertions, 160 deletions
diff --git a/lua/alpha/php_code_actions.lua b/lua/alpha/php_code_actions.lua
deleted file mode 100644
index 32b3ed9..0000000
--- a/lua/alpha/php_code_actions.lua
+++ /dev/null
@@ -1,160 +0,0 @@
-local null_ls = require("null-ls")
-local utils = require("alpha.utils")
-local ts_utils = require("nvim-treesitter.ts_utils")
-local generator = require("alpha.setter_getter_template")
-
-local get_node_text = vim.treesitter.get_node_text
-
-local function tableConcat(t1, t2)
- for i = 1, #t2 do
- t1[#t1 + 1] = t2[i]
- end
- return t1
-end
-
-vim.treesitter.set_query(
- "php",
- "Alpha_refactor_property",
- [[
- [
- (union_type
- (primitive_type) @type
- )
- (union_type
- (named_type) @type
- )
- (property_element
- (variable_name) @name
- )
- ]
-]]
-)
-
-vim.treesitter.set_query(
- "phpdoc",
- "Alpha_refactor_property_phpdoc_primitives",
- [[
- [
- (type_list
- (primitive_type) @primitive
- )
- ]
- ]]
-)
-
-vim.treesitter.set_query(
- "phpdoc",
- "Alpha_refactor_property_phpdoc_class",
- [[
- [
- (type_list
- (named_type
- (name) @class
- )
- )
- ]
- ]]
-)
-
-local M = {}
-
-M.php_setter_getter_actions = {
- method = null_ls.methods.CODE_ACTION,
- filetypes = { "php" },
- generator = {
- fn = function(context)
- local cursor_node = utils.get_master_node()
- if cursor_node == nil then
- return
- end
- if cursor_node.type(cursor_node) ~= "property_declaration" then
- return
- end
- return {
- {
- title = "Create Getter and Setter",
- action = function()
- local property_node = cursor_node
-
- local property_name
- local property_types = {}
- local nullable = false
- local query = vim.treesitter.get_query("php", "Alpha_refactor_property")
- for _, match in query:iter_matches(property_node, 0) do
- for id, subNode in pairs(match) do
- local capture_name = query.captures[id]
- if capture_name == "name" then
- property_name = string.sub(get_node_text(subNode, 0), 2)
- elseif capture_name == "type" then
- table.insert(property_types, get_node_text(subNode, 0))
- end
- end
- end
-
- local comment_node = ts_utils.get_previous_node(property_node)
- if comment_node ~= nil then
- -- P(comment_node:type())
- local row, column = comment_node:start()
- local test_node = ts_utils.get_root_for_position(row, column)
- local primitive_query = vim.treesitter.get_query("phpdoc", "Alpha_refactor_property_phpdoc_primitives")
- for _, match in primitive_query:iter_matches(test_node, 0) do
- for _, subNode in pairs(match) do
- local type = get_node_text(subNode, 0)
- -- P(type)
- if type ~= "null" then
- table.insert(property_types, type)
- else
- nullable = true
- end
- end
- end
-
- local class_query = vim.treesitter.get_query("phpdoc", "Alpha_refactor_property_phpdoc_class")
- for _, match in class_query:iter_matches(test_node, 0) do
- for _, subNode in pairs(match) do
- local type = get_node_text(subNode, 0)
- table.insert(property_types, type)
- end
- end
- end
- -- P(property_types)
- local getter = generator.getGetter(property_name, nullable, property_types, true)
- local setter = generator.getSetter(property_name, nullable, property_types, true)
-
- -- this is using the last line of file mines 2
- vim.api.nvim_buf_set_lines(
- 0,
- #context.content - 2,
- #context.content - 2,
- false,
- tableConcat(getter, setter)
- )
- end,
- },
- }
- -- context dump
- -- {
- -- bufname = "/home/alpha/.dotfiles/nvim/.config/nvim/test.php",
- -- bufnr = 90,
- -- client_id = 1,
- -- col = 20,
- -- content = { "<?php", "", "class Some", "{", " /**", " * @var []int", " */", " private array $test = 1;", "}", "" },
- -- ft = "php",
- -- lsp_method = "textDocument/codeAction",
- -- method = "NULL_LS_CODE_ACTION",
- -- range = {
- -- col = 21,
- -- end_col = 21,
- -- end_row = 8,
- -- row = 8
- -- },
- -- row = 8
- -- }
- -- una solucion manar el archivo a algo php para q lo procece
-
- -- P(context)
- end,
- },
-}
-
-return M
diff --git a/lua/alpha/plugins.lua b/lua/alpha/plugins.lua
index 6ffaf53..cc17db0 100644
--- a/lua/alpha/plugins.lua
+++ b/lua/alpha/plugins.lua
@@ -202,6 +202,7 @@ return require("packer").startup(function(use)
-- Local plugins can be included
local_use("telescope-projectionist.nvim")
local_use("telescope-laravel.nvim")
+ local_use("php-code-actions.nvim")
use("habamax/vim-godot")
use("junegunn/vim-easy-align")
diff --git a/lua/alpha/telescope/setup.lua b/lua/alpha/telescope/setup.lua
index c3b222d..00e6ebf 100644
--- a/lua/alpha/telescope/setup.lua
+++ b/lua/alpha/telescope/setup.lua
@@ -162,6 +162,7 @@ require("telescope").setup {
_ = require("telescope").load_extension "dap"
_ = require("telescope").load_extension "notify"
_ = require("telescope").load_extension "file_browser"
+-- makes the selection like lsp code actions in telescope
_ = require("telescope").load_extension "ui-select"
_ = require("telescope").load_extension "fzf"
_ = require("telescope").load_extension "git_worktree"