Commit Graph

80 Commits (8734c9418d34df9125863c6c24003d1d85a5fe3c)

Author SHA1 Message Date
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 be2f8dada5 Add test for phpinspect-fix-imports 1 month ago
Hugo Thunnissen 5032ae74ff Resolve types of expressions nested in list tokens
- Resolve "(new Foo())->bar"
- Resolve "if ($foo = new Bar()) { $foo->baz"
1 month ago
Hugo Thunnissen 14c63e4187 Improve method return-type test 1 month ago
Hugo Thunnissen 58ef5e3599 Refactor use of project root to project obj injection + test and fix some bugs
- Test/Fix indexation of method return types
- Get rid of some technical debt (use of project-root and global variables)
- Cleanup/refactor tests
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 2e064d52e1 Implement containing type inference for collection-like class properties 1 month ago
Hugo Thunnissen 3a0ce3ac2d Fix another infinite recursion bug
Bug occured in scenario's where array-members were self-referentially assigned
in a foreach loop.

like so:

foreach($things as $thing) {
  $thing = $this->something;
}
1 month ago
Hugo Thunnissen 2d93ec7f79 Fix infinite recursion bug in `phpinspect--get-pattern-type-in-block' 1 month ago
Hugo Thunnissen 93b815d71a Index used traits (juste use of type, no actual functionality outside of that) 1 month ago
Hugo Thunnissen 130e2c06c5 Index types used in arrays 1 month ago
Hugo Thunnissen f1dc699560 Detect types used with "instanceoff" 1 month ago
Hugo Thunnissen f2f1ac9b84 Add property types and anonymous function argument types to used-types index 1 month ago
Hugo Thunnissen 3fff772d8a Fix phpinspect-buffer-index-functions test 1 month ago
Hugo Thunnissen 2520c89680 Account for tokens after @method annotation when indexing
- Add :rest keyword to  `phpinspect--match-sequence'
- Use :rest keyword in  `phpinspect--index-method-annotations'
1 month ago
Hugo Thunnissen dfdef3e382 Implement support for PHP8.1 property typehints 2 months ago
Hugo Thunnissen 2aac7a273e Support @method annotations for static methods 2 months ago
Hugo Thunnissen 712268e4ec Fix bug in autoloader that caused registration of only one FQN per type
ci/woodpecker/push/woodpecker Pipeline failed Details
6 months ago
Hugo Thunnissen ea133c2044 Fix bug in `phpinspect-splayt-find-all-between' that impacted import indexation
ci/woodpecker/push/woodpecker Pipeline failed Details
6 months ago
Hugo Thunnissen 7f2baf2c68 Make phpinspect--match-sequence return nil unless entire sequence matches
ci/woodpecker/push/woodpecker Pipeline failed Details
1 year ago
Hugo Thunnissen 6b832b521b Prefix unused lexical variable in test with _
ci/woodpecker/push/woodpecker Pipeline failed Details
1 year ago
Hugo Thunnissen 3e28231d03 Remove unnecessary macros + use `let' to set PLACE in iterative macros 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 2d29bce498 Apply overall code quality improvements
ci/woodpecker/push/woodpecker Pipeline failed Details
Even benchmarks and tests now compile without warnings or errors :)

This includes patches from Stefan Monnier:
- https://lists.gnu.org/archive/html/emacs-devel/2023-08/msg00548.html
1 year ago
Hugo Thunnissen 20ec37481a Fix compilation of benchmarks and tests
ci/woodpecker/push/woodpecker Pipeline failed Details
1 year ago
Hugo Thunnissen a99f73b83d Use rear pointer instead of nconc to append to end of list
ci/woodpecker/push/woodpecker Pipeline failed Details
1 year ago
Hugo Thunnissen 8cfc48348f Run relint and fix detected regexp issues
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 04606a4756 Fix test
ci/woodpecker/push/woodpecker Pipeline failed Details
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 d86ef5756b Remove `phpinspect-define-pipeline-step' in favor of direct fun call 1 year ago
Hugo Thunnissen f5cc681105 Fix let parenthesis in test-buffer.el 1 year ago
Hugo Thunnissen d51137e58e Remove faulty edit tracker code based on wrong deduction 1 year ago
Hugo Thunnissen 9b82c0d0f6 Reimplement `phpinspect-fix-imports' using metadata objects 1 year ago
Hugo Thunnissen 135263c533 Add tests for incremental parsing + fix parser bugs that came to light 1 year ago
Hugo Thunnissen db370623da Implement "files" autoload strategy 1 year ago
Hugo Thunnissen f003b6a279 Make project indexation asynchronous using `phpinspect-pipeline'
ci/woodpecker/push/woodpecker Pipeline failed Details
1 year ago
Hugo Thunnissen 2fd91898a3 Add tests for pipeline and make API more ergonomic
- Added `phpinspect-pipeline-emit-all' to emit multiple values at once
- Added :async parameter to `phpinspect-pipeline'
- Improved error handling
- Only execute seed form once and require it to return a list
1 year ago
Hugo Thunnissen 2d2f9912c1 Wrap queue items in a queue object
ci/woodpecker/push/woodpecker Pipeline failed Details
1 year ago
Hugo Thunnissen 9a25959aad Use metadata tree instead of hash table for token lookup 1 year ago
Hugo Thunnissen b68baaec83 Make parse context cancellable and restore state after interrupt 1 year ago
Hugo Thunnissen 111fa2f4b5 Fix bugs in splay tree "find" functions 1 year ago
Hugo Thunnissen 389e77eb8b Expand existing overlay when possible 1 year ago
Hugo Thunnissen 0596bc52bf Optimize splay tree and use it to store token's children
ci/woodpecker/push/woodpecker Pipeline was successful Details
1 year ago
Hugo Thunnissen e270729e14 Implement splay tree for overlay storage/lookup
ci/woodpecker/push/woodpecker Pipeline was successful Details
This makes repeated overlay lookups during incremental parsing or buffer
analysis more efficient.
1 year ago
Hugo Thunnissen 75562aab35 Add some tests for edit tracker + patch newly discovered bugs 1 year ago
Hugo Thunnissen 5fab07b426 Keep track of multi-call edits of the same region 1 year ago
Hugo Thunnissen bb04e9a0f8 Implement strategy pattern for phpinspect-eldoc-function 1 year ago