;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\302\310\311\312\313& \210\314\315\316\317\320DD\321\307\304\322\323&\210\314\324\316\317\325DD\326\307\304\322\327&\210\314\330\316\317\331DD\332\307\304\322\333&\210\314\334\316\317\335DD\336\307\304\322\327&\210\314\337\316\317\340DD\341\307\304\322\323&\210\314\342\316\317\343DD\344\307\304\322\327&\207" [require lsp-protocol lsp-mode custom-declare-group lsp-serenata nil "LSP support for the PHP programming language, using serenata" :group :link (url-link "https://gitlab.com/Serenata/Serenata") :package-version (lsp-mode . "7.0") custom-declare-variable lsp-serenata-server-path funcall function #[0 "\300\207" [#1="serenata.phar"] 1 #1#] "Path to the Serenata Language Server phar file.\nIt can be downloaded from https://gitlab.com/Serenata/Serenata/-/releases." :type file lsp-serenata-uris #[0 "\300\207" [[]] 1] "A list of folders to index for your project.\nThis does not have to include the root of the project itself, in\ncase you have need of an exotic configuration where the root of\nthe project is at some location but your actual PHP code is\nsomewhere else. Note that if you are running Serenata in a\ncontainer, you will have to ensure that these URI's are mapped\ninside it. Avoid using file paths containing spaces. This is\ncurrently broken due to apparent PHP quirks. By default, the\nvalue is taken from the lsp workspace location." lsp-string-vector lsp-serenata-php-version #[0 "\300\207" [7.3] 1] "Allows you to specify the PHP version your project is written in.\nAt the moment this directive is still ignored, but it will\ninfluence functionality such as refactoring in the future, where\nolder PHP versions may not support scalar type hints, which may\nthen be omitted from places such as getters and setters." number lsp-serenata-file-extensions #[0 "\300\207" [["php"]] 1] "List of file extensions (without dot) to process.\nFiles that do not match this whitelist will be ignored during\nindexing. Usually you'll want to set this to at least include\nphp, as it is the most common PHP extension. phpt is not\nincluded by default as it is often used to contain test code that\nis not directly part of the code. Note that for existing\nprojects, removing extensions will not not automatically prune\nfiles having them from the index if they are already present.\nAdding new ones will cause the files having them to be picked up\non the next project initialization." lsp-serenata-index-database-uri #[0 "\301\302\303\"!\207" [user-emacs-directory lsp--path-to-uri f-join "index.sqlite"] 4] "The location to store the index database.\nNote that, as the index database uses SQLite and WAL mode,\nadditional files (usually two) may be generated and used in the\nsame folder. Note also that Serenata relies on the Doctrine DBAL\nlibrary as well as the SQLite backends in PHP, which may not\nsupport non-file URI's, which may prevent you from using these." lsp-serenata-exclude-path-expressions #[0 "\300\207" [["/.+Test.php$/"]] 1] "One or more expressions of paths to ignore.\nThis uses Symfony's Finder in the background, so this means you\ncan configure anything here that can also be passed to the name\nfunction, which includes plain strings, globs, as well as regular\nexpressions. Note that for existing projects, modifying these\nwill not not automatically prune them from the index if they are\nalready present."] 10) #@64 Define serenata start function, it requires a PORT. (fn PORT) (defalias 'lsp-serenata-server-start-fun #[257 "\301\302!E\207" [lsp-serenata-server-path "-u" number-to-string] 5 (#$ . 3519)]) #@32 Init options for lsp-serenata. (defalias 'lsp-serenata-init-options #[0 "\305\306\307 \310\n\311 \312\f\257\nD\207" [lsp-serenata-uris lsp-serenata-index-database-uri lsp-serenata-php-version lsp-serenata-exclude-path-expressions lsp-serenata-file-extensions :config :uris :indexDatabaseUri :phpVersion :excludedPathExpressions :fileExtensions] 11 (#$ . 3719)]) #@19 (fn KEY SOURCE) (defalias 'dash-expand:&serenata:didProgressIndexing #[514 "\300>\204\301\302\303!\"\204\304\305\306#\210\307\301\302\303!\"\203(\303!\310\311O\2022\303\312\313\"A!\310\311OE\207" [(:sequence-of-indexed-item :total-items-to-index :progress-percentage :folder-uri :file-uri :info) s-starts-with\? ":_" symbol-name error "Unknown key: %s. Available keys: %s" (:sequence-of-indexed-item :total-items-to-index :progress-percentage :folder-uri :file-uri :info) gethash 1 nil assoc ((:sequence-of-indexed-item . :sequenceOfIndexedItem) (:total-items-to-index . :totalItemsToIndex) (:progress-percentage . :progressPercentage) (:folder-uri . :folderUri) (:file-uri . :fileUri) (:info . :info))] 7 (#$ . 4088)]) #@19 (fn KEY SOURCE) (defalias 'dash-expand:&serenata:didProgressIndexing\? #[514 "\300>\204\f\301\302\303#\210\304\305D\306\307\310\311\"A!\312\313OEE\207" [(:sequence-of-indexed-item :total-items-to-index :progress-percentage :folder-uri :file-uri :info) error "Unknown key: %s. Available keys: %s" (:sequence-of-indexed-item :total-items-to-index :progress-percentage :folder-uri :file-uri :info) when ht\? gethash symbol-name assoc ((:sequence-of-indexed-item . :sequenceOfIndexedItem) (:total-items-to-index . :totalItemsToIndex) (:progress-percentage . :progressPercentage) (:folder-uri . :folderUri) (:file-uri . :fileUri) (:info . :info)) 1 nil] 9 (#$ . 4830)]) #@15 (fn OBJECT) (defalias 'lsp-serenata-did-progress-indexing\? #[257 "\300!\203\301\302!\303\304\"\262\305\"\207\211<\205\301\303\306\"\307\"\207" [ht\? -all\? ht-keys make-closure #[257 "\211\300\235\207" [V0] 3 "\n\n(fn PROP)"] ("sequenceOfIndexedItem" "totalItemsToIndex" "progressPercentage" "folderUri" "fileUri" "info") #[257 "\301\300\"\207" [V0 plist-member] 4 "\n\n(fn PROP)"] (:sequenceOfIndexedItem :totalItemsToIndex :progressPercentage :folderUri :fileUri :info)] 6 (#$ . 5511)]) #@134 (fn &rest PLIST &key SEQUENCE-OF-INDEXED-ITEM TOTAL-ITEMS-TO-INDEX PROGRESS-PERCENTAGE FOLDER-URI FILE-URI INFO &allow-other-keys) (defalias 'lsp-make-serenata-did-progress-indexing #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\307\310\311\"\211\262\312\313\314\"\315\316 \"\"\210\207" [plist-member :sequence-of-indexed-item :total-items-to-index :progress-percentage :folder-uri :file-uri :info make-hash-table :test equal mapc make-closure #[257 "\211\211A\262\242@\301\302\303\304\"A\206!\300#\207" [V0 puthash lsp-keyword->string assoc ((:sequence-of-indexed-item . :sequenceOfIndexedItem) (:total-items-to-index . :totalItemsToIndex) (:progress-percentage . :progressPercentage) (:folder-uri . :folderUri) (:file-uri . :fileUri) (:info . :info))] 9 "\n\n(fn INPUT0)"] -partition 2] 13 (#$ . 6020)]) #@15 (fn OBJECT) (defalias 'lsp:serenata-did-progress-indexing-sequence-of-indexed-item #[257 "\300!\205\n\301\302\"\207" [ht\? gethash "sequenceOfIndexedItem"] 4 (#$ . 6885)]) #@21 (fn OBJECT VALUE) (defalias 'lsp:set-serenata-did-progress-indexing-sequence-of-indexed-item #[514 "\300\301#\210\207" [puthash "sequenceOfIndexedItem"] 6 (#$ . 7068)]) #@15 (fn OBJECT) (defalias 'lsp:serenata-did-progress-indexing-total-items-to-index #[257 "\300!\205\n\301\302\"\207" [ht\? gethash "totalItemsToIndex"] 4 (#$ . 7248)]) #@21 (fn OBJECT VALUE) (defalias 'lsp:set-serenata-did-progress-indexing-total-items-to-index #[514 "\300\301#\210\207" [puthash "totalItemsToIndex"] 6 (#$ . 7423)]) #@15 (fn OBJECT) (defalias 'lsp:serenata-did-progress-indexing-progress-percentage #[257 "\300!\205\n\301\302\"\207" [ht\? gethash "progressPercentage"] 4 (#$ . 7595)]) #@21 (fn OBJECT VALUE) (defalias 'lsp:set-serenata-did-progress-indexing-progress-percentage #[514 "\300\301#\210\207" [puthash "progressPercentage"] 6 (#$ . 7770)]) #@15 (fn OBJECT) (defalias 'lsp:serenata-did-progress-indexing-folder-uri #[257 "\300!\205\n\301\302\"\207" [ht\? gethash "folderUri"] 4 (#$ . 7942)]) #@21 (fn OBJECT VALUE) (defalias 'lsp:set-serenata-did-progress-indexing-folder-uri #[514 "\300\301#\210\207" [puthash "folderUri"] 6 (#$ . 8099)]) #@15 (fn OBJECT) (defalias 'lsp:serenata-did-progress-indexing-file-uri #[257 "\300!\205\n\301\302\"\207" [ht\? gethash "fileUri"] 4 (#$ . 8253)]) #@21 (fn OBJECT VALUE) (defalias 'lsp:set-serenata-did-progress-indexing-file-uri #[514 "\300\301#\210\207" [puthash "fileUri"] 6 (#$ . 8406)]) #@15 (fn OBJECT) (defalias 'lsp:serenata-did-progress-indexing-info #[257 "\300!\205\n\301\302\"\207" [ht\? gethash "info"] 4 (#$ . 8556)]) #@21 (fn OBJECT VALUE) (defalias 'lsp:set-serenata-did-progress-indexing-info #[514 "\300\301#\210\207" [puthash "info"] 6 (#$ . 8702)]) (byte-code "\300\301\302\303\304!\305\306\307\310\311\312\313\314\"\315\316\317#\210\211\262\320\321\322\323\324\325&!\210\326\327!\207" [lsp-register-client make-lsp-client :new-connection lsp-tcp-connection lsp-serenata-server-start-fun :major-modes (php-mode) :priority -2 :notification-handlers make-hash-table :test equal puthash "serenata/didProgressIndexing" #[514 "\300\301\302!\"\207" [lsp--info "%s" lsp:serenata-did-progress-indexing-info] 6 "\n\n(fn SERVER DATA)"] :initialization-options lsp-serenata-init-options :initialized-fn #[257 "G\302=\203\303\304 !\305!\210\211\306\307\310!!)\207" [lsp-serenata-uris lsp--cur-workspace 0 lsp--path-to-uri lsp-workspace-root vector lsp--set-configuration lsp-configuration-section "serenata"] 4 "\n\n(fn WORKSPACE)"] :server-id serenata provide lsp-serenata] 16)