ahmedash95 / deep-symbols
0.0.4
2024-04-22 20:42 UTC
Requires
- nikic/php-parser: ^5.0
Requires (Dev)
- symfony/var-dumper: ^6.1
README
一个简单的 neovim 插件,用于显示具有继承成员的文档符号。
问题
当前的 LSP 文档符号 不考虑继承成员。这是我之前在 PHPStorm 中使用过的功能,它大大简化了代码导航。当我转向 Neovim 时,我非常怀念这个功能,经过一番寻找和搜索后,我找不到任何好的替代方案。因此,我决定自己制作一个。
项目范围应该是并且始终是小的,仅专注于 PHP,因为它是我的主要语言。它将仅用于服务未来的 PHP 版本。
先决条件
- Neovim
- FZFLua
- PHP
- Composer
预览
假设在你的项目中你有 2 个模型 Admin.php 和 User.php
class User { public function getName() { return 'John'; } } class Admin extends User { public function getAdminRole() { return 'supervisor'; } }
使用此插件,它会显示你当前所在类中的所有成员和继承成员。
demo.mov
安装
首先,你需要从 composer 全局安装 deep-symbol
composer global require ahmedash95/deep-symbols
请确保你的全局 composer 目录位于 PATH 环境变量中。简单地将此目录添加到你的 ~/.bash_profile(或 ~/.bashrc)中,如下所示
export PATH=~/.composer/vendor/bin:$PATH
安装完成后,你可以通过打开新的终端会话并输入以下命令来验证其是否工作
$ deep-symbols
插件
使用 vim-plug
Plug 'ahmedash95/deep-symbols'
使用 packer.nvim
use 'ahmedash95/deep-symbols'
用法
你可以使用以下命令运行它
:lua require("deepsymbols").get_symbols()
-- or mapping
vim.keymap.set('n', '<leader>o', ':lua require("deepsymbols").get_symbols()<CR>')