Commit Graph

112 Commits (d51137e58e6761d329a007505d7372e583f1cab2)
 

Author SHA1 Message Date
Hugo Thunnissen d51137e58e Remove faulty edit tracker code based on wrong deduction 11 months ago
Hugo Thunnissen 9b82c0d0f6 Reimplement `phpinspect-fix-imports' using metadata objects 11 months ago
Hugo Thunnissen 135263c533 Add tests for incremental parsing + fix parser bugs that came to light 11 months ago
Hugo Thunnissen f2ece03f2a Add factilities to filter logs from different modules 11 months ago
Hugo Thunnissen db370623da Implement "files" autoload strategy 11 months ago
Hugo Thunnissen 94d5b75455 Add `phpinspect-pipeline-pause-time'
ci/woodpecker/push/woodpecker Pipeline failed Details
11 months ago
Hugo Thunnissen ea7795c76e Remove commented code
ci/woodpecker/push/woodpecker Pipeline failed Details
11 months ago
Hugo Thunnissen f003b6a279 Make project indexation asynchronous using `phpinspect-pipeline'
ci/woodpecker/push/woodpecker Pipeline failed Details
11 months 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
11 months ago
Hugo Thunnissen 6678ba20c6 Implement async processing pipeline 11 months ago
Hugo Thunnissen 2d2f9912c1 Wrap queue items in a queue object
ci/woodpecker/push/woodpecker Pipeline failed Details
11 months ago
Hugo Thunnissen ce995f2bc4 Remove unused variables 11 months ago
Hugo Thunnissen 9f7931a7b6 Rework parser for ahead of time byte compilation
ci/woodpecker/push/woodpecker Pipeline failed Details
This commit does away with the JIT approach that byte compiles parser functions
on the go. Some workarounds have been implemented to inline handler functions
while still allowing them to call the parser functions they are used in.
11 months ago
Hugo Thunnissen 2099abced8 Add Cask configuration and fix some compilation warnings
ci/woodpecker/push/woodpecker Pipeline failed Details
11 months ago
Hugo Thunnissen 23245d0158 Fix some compilation warnings
ci/woodpecker/push/woodpecker Pipeline failed Details
11 months ago
Hugo Thunnissen 2049121810 Make edit delta lookup inclusive of current point
ci/woodpecker/push/woodpecker Pipeline failed Details
11 months ago
Hugo Thunnissen 4c5a70d4af Make buffer re-parse non-interruptible + add interactive function to view tree 11 months ago
Hugo Thunnissen 9a25959aad Use metadata tree instead of hash table for token lookup 11 months ago
Hugo Thunnissen b68baaec83 Make parse context cancellable and restore state after interrupt 11 months ago
Hugo Thunnissen 111fa2f4b5 Fix bugs in splay tree "find" functions 11 months ago
Hugo Thunnissen 389e77eb8b Expand existing overlay when possible 11 months ago
Hugo Thunnissen 0596bc52bf Optimize splay tree and use it to store token's children
ci/woodpecker/push/woodpecker Pipeline was successful Details
11 months ago
Hugo Thunnissen ab6954faf5 Retrieve and wrap metadata using the correct overlay for region
ci/woodpecker/push/woodpecker Pipeline was successful Details
11 months ago
Hugo Thunnissen 6c767fc877 Implement eldoc for object attributes 11 months 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.
11 months ago
Hugo Thunnissen 55a24065a6 Remove obsolete comment (incremental parsing has been implemented)
ci/woodpecker/push/woodpecker Pipeline was successful Details
11 months ago
Hugo Thunnissen c35c00ceff Implement strategy pattern for completion backend
ci/woodpecker/push/woodpecker Pipeline was successful Details
11 months ago
Hugo Thunnissen 75562aab35 Add some tests for edit tracker + patch newly discovered bugs 11 months ago
Hugo Thunnissen d1d34a4249 Move more functionalities from main file to separate modules 11 months ago
Hugo Thunnissen 1f145665ef Exclude "return" from resolvecontext subject + count comma at point for eldoc arg number
ci/woodpecker/push/woodpecker Pipeline was successful Details
11 months ago
Hugo Thunnissen 5fab07b426 Keep track of multi-call edits of the same region 11 months ago
Hugo Thunnissen 43310092ad Clear tree and edit tracker when reparsing (to ensure full reparse) 11 months ago
Hugo Thunnissen 8dd9bb07e4 Increase phpinspect-bmap-last-token-before-point backward search limit to 100 11 months ago
Hugo Thunnissen bb04e9a0f8 Implement strategy pattern for phpinspect-eldoc-function 11 months ago
Hugo Thunnissen 1ec0e0cfa2 Limit token lookback range and start completion from the first non-blank character
ci/woodpecker/push/woodpecker Pipeline was successful Details
When editing files where tokens occur sparingly, like in HTML templates, looking
back for the last token that occured is very expensive and never useful.
11 months ago
Hugo Thunnissen 281c5e4ae6 Remove some overly verbose logging
ci/woodpecker/push/woodpecker Pipeline was successful Details
12 months ago
Hugo Thunnissen 9d6ce5726d Use `phpinspect-edtrack-original-position-at-point' for edit end determination 12 months ago
Hugo Thunnissen 5548734ef7 Implement parser interruption on user input
ci/woodpecker/push/woodpecker Pipeline was successful Details
12 months ago
Hugo Thunnissen 91e24b97d4 Make bmap-token-meta error on unexpected input
Searching for an object that doesn't exist as a token can be really expensive,
so it's better to error on unexpected input and fix code on the calling side.
12 months ago
Hugo Thunnissen 6627f6f76f Remove commented parser code
ci/woodpecker/push/woodpecker Pipeline was successful Details
12 months ago
Hugo Thunnissen 7f76ba4c11 Fix some bugs introduced by the incremental parsing feature
ci/woodpecker/push/woodpecker Pipeline was successful Details
Among other things:

- use-keyword parser handler result being registered for two positions due to
wrong use of "root" parser parameter.
- phpinspect-fix-imports was broken
12 months ago
Hugo Thunnissen ad5ede01ad Implement Incremental Parsing
ci/woodpecker/push/woodpecker Pipeline was successful Details
12 months ago
Hugo Thunnissen 0ca527dbbd Adapt `phpinspect-purge-parser-cache' to new parser caching approach
ci/woodpecker/push/woodpecker Pipeline was successful Details
1 year ago
Hugo Thunnissen 58ad65932b Add `phpinspect-parser' type and `phpinspect-defparser' macro
ci/woodpecker/push/woodpecker Pipeline was successful Details
1 year ago
Hugo Thunnissen e7b1f22e8c Sort tokens by size when returning tokens around point 1 year ago
Hugo Thunnissen 3838e02820 Prevent worker thread from associating with the current buffer
ci/woodpecker/push/woodpecker Pipeline was successful Details
1 year ago
Hugo Thunnissen 0e00d7e5a6 Wakeup worker when stop is requested and worker thread is paused
This makes the worker thread stop execution immediately after the stop is
requested in stead of after the next wakeup.
1 year ago
Hugo Thunnissen f9f3440850 Make file contents insertion asynchronous in background threads
ci/woodpecker/push/woodpecker Pipeline was successful Details
This allows for a more lenient pausing regime in the worker thread, as file
content insertion, which is the longest running action while indexing, no longer
makes the main thread wait.

Implementation uses host system's cat program, but defers to
insert-file-contents when this is not available.
1 year ago
Hugo Thunnissen 47335f3450 Refactor phpinspect--project to phpinspect-project
ci/woodpecker/push/woodpecker Pipeline was successful Details
1 year ago
Hugo Thunnissen c2b06fe265 Another attempt at fixing CI
ci/woodpecker/push/woodpecker Pipeline was successful Details
1 year ago