minor microoptimizations
This commit is contained in:
parent
21500707de
commit
67b1fbfbef
@ -20,7 +20,7 @@
|
||||
;; LSP line numbers are zero-indexed, but Emacs and Vim both use
|
||||
;; 1-indexing for this.
|
||||
(+ (or start.line 0) 1) (or start.character "?") message)))
|
||||
(if (not= 0 (length file.diagnostics))
|
||||
(if (. file.diagnostics 1)
|
||||
(set should-err? true))))
|
||||
(if should-err?
|
||||
(os.exit 1))))
|
||||
|
||||
@ -137,9 +137,8 @@ identifiers are declared / referenced in which places."
|
||||
{:binding symbol
|
||||
:definition ?definition
|
||||
:referenced-by (or (?. definitions symbol :referenced-by) [])
|
||||
:keys (if (< 0 (length keys))
|
||||
(fcollect [i 1 (length keys)]
|
||||
(. keys i)))
|
||||
:keys (if (. keys 1)
|
||||
(icollect [_ v (ipairs keys)] v))
|
||||
:multival ?multival
|
||||
:var? (?. ?opts :isvar)
|
||||
: file}]
|
||||
|
||||
@ -175,12 +175,13 @@ a user-written file.
|
||||
"find a definition just from the name of the item, and the scope it is in"
|
||||
(assert (= (type name) :string))
|
||||
(let [stack (stack-add-multisym! [] name)]
|
||||
(case (. METADATA (or (. MACROS name) (. SPECIALS name)))
|
||||
metadata {:binding (sym name) : metadata}
|
||||
_ (case (global-info self name)
|
||||
global-item global-item
|
||||
_ (case (find-local-definition file name scope)
|
||||
def (search-val self file def.definition (stack-add-keys! stack def.keys) (or ?opts {})))))))
|
||||
(or
|
||||
(case (. METADATA (or (. MACROS name) (. SPECIALS name)))
|
||||
metadata {:binding (sym name) : metadata})
|
||||
(case (global-info self name)
|
||||
global-item global-item)
|
||||
(case (find-local-definition file name scope)
|
||||
def (search-val self file def.definition (stack-add-keys! stack def.keys) (or ?opts {}))))))
|
||||
|
||||
(λ _past? [?ast byte]
|
||||
;; check if a byte is past an ast object
|
||||
|
||||
Loading…
Reference in New Issue
Block a user