Commit Graph

27 Commits (23b85fca6ad145403f7d8b7df0676a4876b35102)

Author SHA1 Message Date
Hugo Thunnissen 33922a6ff2 Implement parsing and indexation of @throws annotations 1 month ago
Hugo Thunnissen 6f1e11c32a Implement indexation and resolving of @param annotation types 1 month ago
Hugo Thunnissen 8734c9418d Test + improve `phpinspect-fix-imports' (and parse enums as classes)
- `phpinspect-fix-imports' now sorts the imports alphabetically
- `phpinspect-fix-imports' removes excess trailing newlines
- "enum" keywords are now regarded like "class" keywords. (enum cases not yet
   supported)
- Namespaces were added to token index
1 month ago
Hugo Thunnissen 2052c289e1 Use `phpinspect--display-format-type-name' as standardized propertized string
- Move `propertize' calls into `phpinspect--display-format-type-name'
- Use for completion as well as eldoc hints
1 month ago
Hugo Thunnissen 4ec4c40c9d Add eldoc for sigil variables and allow display of multiple eldoc results
By allowing multiple eldoc results, displaying variable information doesn't
interfere with function parameter hints.
1 month ago
Hugo Thunnissen 8296641ba9 Implement removal of unused imports in `phpinspect-fix-imports' 1 month ago
Hugo Thunnissen e9ffa3a0ad Fully reindex buffer after save 1 month ago
Hugo Thunnissen 62bfc7830a Fix namespace resolution bug in phpinspect-fix-imports
Incorrect use of phpinspect-namespace-name caused phpinspect-fix-imports to
incorrectly determine the current namespace. This resulted in imports being
suggested/added for types that already were available in the current
namespace. It did not make the PHP code invalid, but it did cause unnecessary
use statements for types in the same namespace.

This bug has now been fixed.
2 months ago
Hugo Thunnissen 3d68374fd0 Add some documentation for phpinspect-meta objects 2 months ago
Hugo Thunnissen b1085763df Use `defvar' instead of `defconst' for variables that are actually changed during runtime 1 year ago
Hugo Thunnissen 81919175ca Implement stub index for builtin functions and types
Misc:
- Removed Cask in favor of dependency install script
- Rework makefile to provide simple build/install process
1 year ago
Hugo Thunnissen d806c4ef4a Use class-keyword handler regexp when extracting class name from declaration
ci/woodpecker/push/woodpecker Pipeline failed Details
1 year ago
Hugo Thunnissen ad4b1f25a6 Update copyright statements and apply some code style improvements
ci/woodpecker/push/woodpecker Pipeline failed Details
As suggested by Stefan Monniers patch:
 - https://mail.gnu.org/archive/html/emacs-devel/2023-08/msg00367.html
1 year ago
Hugo Thunnissen 84ddaf1dc2 Fix all byte compilation warnings and errors (for real this time (probably))
ci/woodpecker/push/woodpecker Pipeline failed Details
1 year ago
Hugo Thunnissen 68c826243c Keep index synchronized with buffer state 1 year ago
Hugo Thunnissen 55413ea9fb Implement basic support for function indexation and include dirs
ci/woodpecker/push/woodpecker Pipeline failed Details
Does not yet include support for imported namespaced functions
1 year ago
Hugo Thunnissen 05ca0ace20 Fix all remaining byte compiler warnings
ci/woodpecker/push/woodpecker Pipeline failed Details
1 year ago
Hugo Thunnissen 6c767fc877 Implement eldoc for object attributes 1 year ago
Hugo Thunnissen c35c00ceff Implement strategy pattern for completion backend
ci/woodpecker/push/woodpecker Pipeline was successful Details
1 year ago
Hugo Thunnissen d1d34a4249 Move more functionalities from main file to separate modules 1 year ago
Hugo Thunnissen 224bbd7916 Implement array member type inference
phpinspect now understands typed arrays!
2 years ago
Hugo Thunnissen dbf0ec0390 Transition from index script to autoloader
continuous-integration/drone/push Build is failing Details
2 years ago
Hugo Thunnissen 0bc9e795b2 Fix tests and patch bugs that came to light in the process 2 years ago
Hugo Thunnissen c0786db131 WIP: Index every possibly required type ahead of time.
- Changed project and after-save-action implementation to include imports in
  opened files. This way any types that are used in a file will have completion
  available for it ahead of time.
- Extra attributes have been added to phpinspect--class to check whether or not
  its file has been indexed/is queued for indexation yet.
- Misc: Fixed eldoc function bug that was caused by a previous commit
2 years ago
Hugo Thunnissen 341afd42da WIP: Index types in the background using collaborative threading.
Created queue for types to be indexed in separate thread and tried to limit
lock-ups as much as possible by using idle timers.
2 years ago
Hugo Thunnissen f013b3c709 WIP: Support ambiguous typehints
- Try to infer type of "object" typehint by using the return annotation
- Support late static binding with "static" and "this" return type
2 years ago
Hugo Thunnissen e07e1ed9e6 WIP: Split code up into separate files 2 years ago