mkusher / padawan
智能PHP补全服务器
v0.2.1
2015-09-09 17:09 UTC
Requires
- doctrine/cache: ^1.4
- mnapoli/php-di: ~4.4
- monolog/monolog: ~1.13
- nikic/php-parser: ~1.1
- phine/path: ~1.0
- phpdocumentor/reflection-docblock: ~2.0
- react/react: 0.4.*
- symfony/event-dispatcher: ^2.6
Requires (Dev)
- behat/behat: ~3.0
- peridot-php/leo: ~1.4
- peridot-php/peridot: ~1.15
- peridot-php/peridot-prophecy-plugin: ~1.0
- phpspec/prophecy: ^1.5
This package is not auto-updated.
Last update: 2024-09-14 17:43:00 UTC
README
正在寻找维护者!请加入gitter频道进行讨论
Padawan.php 是一个http服务器,它可以解析你的项目并提供补全功能。Padawan.php 会递归地查找composer项目的所有PHP文件,解析每个类的doc注释和函数声明,并从这些信息中创建索引。之后,它会自动更新索引,并在你输入时提供补全。
Padawan.php 可以通过各种插件进行扩展,这些插件可以提供额外的补全、框架集成等功能。 查看此部分以获取更多信息
它试图成为 Jedi,但目前它只是一个垫脚石 :)
编辑器插件
- Vim
- Neovim
- Sublime Text: Padawan for ST3 和 SublimePHPCompanion
如果你希望编写自己的插件,Vim插件示例可以作为灵感来源。查看 wiki页面 获取一些文档。如果你有任何问题,欢迎提出问题。
演示视频
如何使用
- 通过
composer
安装 padawan.php
$ composer global require mkusher/padawan
PATH=$PATH:$HOME/.composer/vendor/bin
- 安装你编辑器的插件。
- 在你的php composer项目文件夹中运行索引生成命令
padawan generate
- 启动padawan的服务器
padawan-server
- 享受智能补全
查看特定编辑器插件文档中的操作方法。
Padawan.php的插件(扩展)
Padawan.php可以通过插件进行扩展,目前有
- Symfony2插件
- PHP-DI插件
查看 完整插件列表
为什么不使用原始插件
本项目受到 M2mdas的phpcomplete-extended 的启发,最初是一个完全重写的索引生成部分的分支。但到目前为止,它是一个完全新的项目,具有不同的设计原则。
M2mdas的插件相当不错,但由于自写的解析器存在一些核心错误。
- 它不支持包含2个或更多类的文件
- 它在解析RabbitMQ类和其他许多类时失败
- 因此,它存在一些设计缺陷,需要全局插件重设计
- 它不适合添加赋值解析
- 它是Vim专属的,并使用VimScript编写
因此,我决定创建自己的项目。
注意
安装 igbinary
PHP 扩展以获得优化的索引文件大小和加载速度。
路线图
正在进行中
- 实现
转到定义
,转到赋值
,显示文档
- 添加编辑器插件(emacs, atom 等。)
- 扩展类型猜测(处理类的构造函数、类文档注释、foreach 循环)
- 实现索引更新
许可证
MIT 许可证。
鸣谢
如果没有以下人士的工作,这个插件将无法实现:Nikita Popov 的惊人的 PHP-Parser,React 团队在其 HTTP 服务器上的工作,M2mdas,Dave Halter 以及许多其他人。