;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\300\312!\210\300\313!\210\300\314!\210\300\315!\210\300\316!\210\300\317!\210\300\320!\210\300\321!\210\300\322!\210\300\323!\210\300\324!\210\300\325!\210\300\326!\210\300\327!\210\300\330!\210\300\331!\210\300\332!\210\300\333!\210\300\334!\207" [require cl cl-lib csharp-mode json files ido thingatpt dash compile dired popup etags flycheck s shut-up f omnisharp-settings omnisharp-server-management omnisharp-utils omnisharp-http-utils omnisharp-server-actions omnisharp-auto-complete-actions omnisharp-current-symbol-actions omnisharp-navigation-actions omnisharp-helm-integration omnisharp-solution-actions omnisharp-format-actions omnisharp-server-installation] 2) #@97 Non-nil if omnisharp mode is enabled. Use the command `omnisharp-mode' to change this variable. (defvar omnisharp-mode nil (#$ . 889)) (make-variable-buffer-local 'omnisharp-mode) #@634 Omnicompletion (intellisense) and more for C# using an OmniSharp server backend. This is a minor mode. If called interactively, toggle the `omnisharp mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `omnisharp-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'omnisharp-mode #[256 "\302 \303=\203 ?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300 \"\2031\300 B\311 \210\312 \210\313 \210\314\315\316\"\210\317\320\203I\321\202J\322\"\210\323\324!\203l\302 \203^\211\302 \232\203l\325\326\203h\327\202i\330\331#\210\210\332 \210\207" [omnisharp-mode local-minor-modes current-message toggle 1 nil t boundp delq omnisharp--init-imenu-support omnisharp--init-eldoc-support omnisharp--attempt-to-start-server-for-buffer add-to-list flycheck-checkers csharp-omnisharp-codecheck run-hooks omnisharp-mode-hook omnisharp-mode-on-hook omnisharp-mode-off-hook called-interactively-p any message "omnisharp mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 1076) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar omnisharp-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\310\211%\207" [omnisharp-mode-map omnisharp-mode-hook variable-documentation put "Hook run after entering or leaving `omnisharp-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode omnisharp-mode " omnisharp"] 6) (defalias 'omnisharp--init-imenu-support #[0 "\205 \203 \303\304 \207\305\211\207" [omnisharp-imenu-support omnisharp-mode imenu-create-index-function omnisharp-imenu-create-index imenu-add-menubar-index imenu-default-create-index-function] 2]) (defalias 'omnisharp--init-eldoc-support #[0 "\205 \205\303\302!\210\304\211\207" [omnisharp-eldoc-support omnisharp-mode eldoc-documentation-function make-local-variable omnisharp-eldoc-function] 2]) #@105 Starts an OmniSharp server for a given path to a project or solution file (fn &optional NO-AUTODETECT) (defalias 'omnisharp-start-omnisharp-server #[256 "\300!\207" [omnisharp--start-omnisharp-server] 3 (#$ . 3525) "P"]) #@36 Stops Omnisharp server if running. (defalias 'omnisharp-stop-server #[0 "\300 \207" [omnisharp--stop-server] 1 (#$ . 3754) nil]) #@51 Restarts omnisharp server on solution last loaded (defalias 'omnisharp-reload-solution #[0 "\300 \207" [omnisharp--reload-solution] 1 (#$ . 3889) nil]) #@282 Shows a message to the user describing whether the OmniSharpServer process specified in the current configuration is alive. "Alive" means it is running and not stuck. It also means the connection to the server is functional - I.e. The user has the correct host and port specified. (defalias 'omnisharp-check-alive-status #[0 "\300 \207" [omnisharp--check-alive-status] 1 (#$ . 4048) nil]) #@150 Shows a message to the user describing whether the OmniSharpServer process specified in the current configuration has finished loading the solution. (defalias 'omnisharp-check-ready-status #[0 "\300 \207" [omnisharp--check-ready-status] 1 (#$ . 4444) nil]) #@99 Installs OmniSharp server locally into ~/.emacs/cache/omnisharp/server/$(version) (fn REINSTALL) (defalias 'omnisharp-install-server #[257 "\300!\207" [omnisharp--install-server] 3 (#$ . 4707) "P"]) #@44 (fn COMMAND &optional ARG &rest IGNORED) (defalias 'company-omnisharp #[641 "\306\267\202\254\307\310!\207\311\300!\205\255\205\312 ?\205\255\313 \207\314!\207\315\232\206\255 \316=?\207 \316=?\205\255\317\207\320!\207\321\322\"\207\323\207\324\321\325\"!r\211q\210\326 \210)\207\n\207 \316=\203Z ?\207\327\207\330\317\331#\330\317\332#\333\"\210\211\205\253\f\203\212\311\305!\203\212 \203\212\334!\211\205\211\335#\207\336\337!\210\340!\211\205\251\341\342\327%\343#)\266\203\205\251\344!\262\207\342\207" [omnisharp-mode omnisharp-company-match-type omnisharp-company-ignore-case omnisharp-company-sort-results omnisharp-company-template-use-yasnippet yas-minor-mode #s(hash-table size 12 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (interactive 6 prefix 10 candidates 29 no-cache 33 match 44 annotation 53 meta 57 require-match 62 doc-buffer 64 ignore-case 79 sorted 81 post-completion 92)) company-begin-backend company-omnisharp boundp company-in-string-or-comment omnisharp-company--prefix omnisharp--get-company-candidates "" company-match-simple 0 omnisharp--company-annotation omnisharp--get-company-candidate-data DisplayText never company-doc-buffer Description visual-line-mode t get-text-property omnisharp-item omnisharp-allow-templating omnisharp--tag-text-with-completion-info omnisharp--completion-result-item-get-method-snippet omnisharp--snippet-templatify require company-template omnisharp--get-method-base "([^)]" nil string-match company-template-c-like-templatify inhibit-changing-match-data] 13 (#$ . 4914) '(interactive)]) #@25 Menu for omnisharp-mode (defvar omnisharp-mode-menu nil (#$ . 6530)) (easy-menu-do-define 'omnisharp-mode-menu omnisharp-mode-map "Menu for omnisharp-mode" '("OmniSharp" ("Auto-complete" ["at point" omnisharp-auto-complete] ["Add . and complete members" omnisharp-add-dot-and-auto-complete] ["Show last result" omnisharp-show-last-auto-complete-result] ["Show overloads at point" omnisharp-show-overloads-at-point]) ("Navigate to.." ["Definition at point" omnisharp-go-to-definition] ["Current file member" omnisharp-navigate-to-current-file-member] ["Solution member" omnisharp-navigate-to-solution-member] ["File in solution" omnisharp-navigate-to-solution-file] ["Region in current file" omnisharp-navigate-to-region]) ("OmniSharp server" ["Start OmniSharp server" omnisharp-start-omnisharp-server] ["Check alive status" omnisharp-check-alive-status] ["Check ready status" omnisharp-check-ready-status]) ("Current symbol" ["Show type" omnisharp-current-type-information] ["Show documentation" omnisharp-current-type-documentation] ["Show type and add it to kill ring" omnisharp-current-type-information-to-kill-ring] ["Find usages" omnisharp-find-usages] ["Find usages with ido" omnisharp-find-usages-with-ido] ["Find implementations" omnisharp-find-implementations] ["Find implementations with ido" omnisharp-find-implementations-with-ido] ["Rename" omnisharp-rename] ["Rename interactively" omnisharp-rename-interactively]) ("Solution actions" ["Start syntax check" flycheck-mode] ["Fix code issue at point" omnisharp-fix-code-issue-at-point] ["Run code format on current buffer" omnisharp-code-format-entire-file]) ["Run contextual code action / refactoring at point" omnisharp-run-code-action-refactoring])) #@63 The name of the buffer that is used to fontify eldoc strings. (defvar omnisharp--eldoc-fontification-buffer-name " * OmniSharp : Eldoc Fontification *" (#$ . 8251)) (defalias 'omnisharp--region-start-line #[0 "\205\f\212\301 b\210\302 )\207" [mark-active region-beginning line-number-at-pos] 1]) #@156 evil-mode has its own Vim-like concept of the region. A visual line selection in evil-mode reports the end column to be 0 in some cases. Work around this. (defalias 'omnisharp--goto-end-of-region #[0 "\2050\302\301!\203- \203-\303\304!\203-\304 \203-\305 \211A\211A\262\242\306@\210b\210\307u\207\310 b\207" [mark-active evil-visual-end boundp fboundp evil-visual-state-p evil-visual-range nil -1 region-end] 5 (#$ . 8556)]) (defalias 'omnisharp--region-end-line #[0 "\205 \212\301 \210\302 )\207" [mark-active omnisharp--goto-end-of-region line-number-at-pos] 1]) (defalias 'omnisharp--region-start-column #[0 "\205\f\212\301 b\210\302 )\207" [mark-active region-beginning omnisharp--current-column] 1]) (defalias 'omnisharp--region-end-column #[0 "\205 \212\301 \210\302 )\207" [mark-active omnisharp--goto-end-of-region omnisharp--current-column] 1]) #@13 (fn ITEM) (defalias 'omnisharp--completion-result-item-get-completion-text #[257 "\300\236A\207" [CompletionText] 3 (#$ . 9432)]) #@13 (fn ITEM) (defalias 'omnisharp--completion-result-item-get-display-text #[257 "\300\236A\207" [DisplayText] 3 (#$ . 9571)]) #@13 (fn ITEM) (defalias 'omnisharp--completion-result-item-get-method-header #[257 "\300\236A\207" [MethodHeader] 3 (#$ . 9704)]) #@13 (fn ITEM) (defalias 'omnisharp--completion-result-item-get-method-snippet #[257 "\300\236A\207" [Snippet] 3 (#$ . 9839)]) #@24 (fn JSON-ALIST TYPE) (defalias 'omnisharp--completion-result-get-item #[514 "\300\"A\207" [assoc] 5 (#$ . 9970)]) #@82 Returns the length of the longest completion in 'completions'. (fn COMPLETIONS) (defalias 'omnisharp--get-max-item-length #[257 "\211\204\300\207\301\302\303\304\"\"\207" [0 cl-reduce max mapcar length] 6 (#$ . 10094)]) #@66 Construct a Request object based on the current buffer contents. (defalias 'omnisharp--get-request-object #[0 "\302\303 !\302\304 !\305\301!?\205\306 \206\307\310B\311B\312BE\305\301!\203,\313 BB\207G\314U\2049\315!B\207\207" [buffer-file-name omnisharp--metadata-source number-to-string line-number-at-pos omnisharp--current-column boundp omnisharp--get-current-buffer-contents "" Line Column Buffer FileName 0 omnisharp--to-filename] 8 (#$ . 10324)]) #@90 Construct a Request object for typelookup endpoint based on the current buffer contents. (defalias 'omnisharp--get-typelookup-request-object #[0 "\300\301\302 \"\207" [append ((IncludeDocumentation . t)) omnisharp--get-request-object] 3 (#$ . 10797)]) #@159 Gets a Request class that can be only handled safely inside Emacs. This should not be transferred to the server backend - it might not work on all platforms. (defalias 'omnisharp--get-request-object-for-emacs-side-use #[0 "\301 \302 \303 \206 \304\305B\306B\307BEG\310U\204\"\311!B\207\207" [buffer-file-name line-number-at-pos omnisharp--current-column omnisharp--get-current-buffer-contents "" Line Column Buffer 0 omnisharp--to-filename] 8 (#$ . 11056)]) #@262 Open file :FileName at :Line and :Column. If filename is not given, defaults to the current file. This function works for a QuickFix class json result. Switches to BUFFER instead of :FileName when buffer is set. (fn JSON-RESULT &optional OTHER-WINDOW BUFFER) (defalias 'omnisharp-go-to-file-line-and-column #[769 "\300\301\236A\302\236AS\303!\304&\207" [omnisharp-go-to-file-line-and-column-worker Line Column omnisharp--get-filename nil] 10 (#$ . 11530)]) #@20 (fn LINE COLUMN) (defalias 'omnisharp--go-to-line-and-column #[514 "eb\210Sy\210\300]u\207" [0] 4 (#$ . 12003)]) #@461 Open filename at line and column. Switches to BUFFER if provided, otherwise defaults to the current file if filename is not given. Saves the current location into the tag ring so that the user may return with (pop-tag-mark). If DONT-SAVE-OLD-POS is specified, will not save current position to find-tag-marker-ring. This is so this function may be used without messing with the ring. (fn LINE COLUMN &optional FILENAME OTHER-WINDOW DONT-SAVE-OLD-POS BUFFER) (defalias 'omnisharp-go-to-file-line-and-column-worker #[1538 "\300 \204\n\203\301\206\"\210\302\"\210?\205*\303!\210\304\305\306!!!\207" [point-marker omnisharp--find-file-possibly-in-other-window omnisharp--go-to-line-and-column omnisharp--save-position-to-find-tag-marker-ring omnisharp--show-last-buffer-position-saved-message buffer-file-name marker-buffer] 11 (#$ . 12127)]) #@213 Notifies the user that the previous buffer position has been saved with a message in the minibuffer. If FILE-NAME is given, shows that as the file. Otherwise uses the current file name. (fn &optional FILE-NAME) (defalias 'omnisharp--show-last-buffer-position-saved-message #[256 "\300\301\206\302 \"\207" [message "Previous position in %s saved. Go back with (pop-tag-mark)." buffer-file-name] 4 (#$ . 12993)]) #@148 Record position in find-tag-marker-ring. If MARKER is non-nil, record that position. Otherwise record the current position. (fn &optional MARKER) (defalias 'omnisharp--save-position-to-find-tag-marker-ring #[256 "\211\206\301 \262\302\"\207" [find-tag-marker-ring point-marker ring-insert] 4 (#$ . 13415)]) #@256 Open a buffer editing FILE. If no buffer for that filename exists, a new one is created. If the optional argument OTHER-WINDOW is non-nil, uses another window. FILE can be a buffer in which case that buffer is selected. (fn FILE &optional OTHER-WINDOW) (defalias 'omnisharp--find-file-possibly-in-other-window #[513 "\300!\204\f\301!\203a\300!\203\202U\302\303 \304\302\211\211\203P\211A\262\242\262\262\211\262\203P\305!\230\203C\302\262\203P\262\262T\262\202\266\211\262\203]\306!\207\307!\207\211\203i\310\202j\311!\207" [bufferp omnisharp--buffer-exists-for-file-name nil buffer-list 0 buffer-file-name pop-to-buffer pop-to-buffer-same-window find-file-other-window find-file] 10 (#$ . 13735)]) #@15 (fn VECTOR) (defalias 'omnisharp--vector-to-list #[257 "\300\301\"\207" [append nil] 4 (#$ . 14485)]) #@259 When in a popup menu with autocomplete suggestions, calling this function will close the popup and open an ido prompt instead. Note that currently this will leave the popup menu active even when the user selects a completion and the completion is inserted. (defalias 'omnisharp--popup-to-ido #[0 "\301!\207" [omnisharp--last-buffer-specific-auto-complete-result omnisharp--auto-complete-display-function-ido] 2 (#$ . 14597) nil]) #@122 Start an OmniSharp syntax check with CHECKER. CALLBACK is the status callback passed by Flycheck. (fn CHECKER CALLBACK) (defalias 'omnisharp--flycheck-start #[514 "p\300\301\302 \303\304$#\207" [omnisharp--send-command-to-server "codecheck" omnisharp--get-request-object make-closure #[257 "\303\300\302#\301\304\305\306\"\"\207" [V0 V1 V2 omnisharp--flycheck-error-parser finished delq nil] 7 "\n\n(fn RESPONSE)"]] 11 (#$ . 15036)]) (flycheck-define-generic-checker 'csharp-omnisharp-codecheck "A csharp source syntax checker using the OmniSharp server process\n running in the background" :start 'omnisharp--flycheck-start :modes '(csharp-mode) :predicate #[0 "\205\f \205\f\302\303!?\207" [omnisharp-mode omnisharp--server-info boundp omnisharp--metadata-source] 2]) #@132 Takes a QuickFixResponse result. Returns flycheck errors created based on the locations in the json. (fn RESPONSE CHECKER BUFFER) (defalias 'omnisharp--flycheck-error-parser #[771 "\300\301\302#\303\304\236A!\"\207" [mapcar make-closure #[257 "\302\303\301\304\300\305\306!\307\310 \236A\311\312 \236A\313\314 \236A\315\316\236A\211\317\267\2020\320\2021\321\2021\322\262&\207" [V0 V1 flycheck-error-new :buffer :checker :filename omnisharp--get-filename :line Line :column Column :message Text :level LogLevel #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("Warning" 40 "Hidden" 44)) warning info error] 18 "\n\n(fn IT)"] omnisharp--vector-to-list QuickFixes] 8 (#$ . 15827)]) #@98 Takes a QuickCheck element and returns the position of the cursor at that location (fn ELEMENT) (defalias 'omnisharp--imenu-make-marker #[257 "\300\236A\301\236A\302!\212\303\304\305%\210\306 )\207" [Line Column omnisharp--get-filename omnisharp-go-to-file-line-and-column-worker nil t point-marker] 10 (#$ . 16570)]) #@74 Imenu callback function - returns an alist of ((member-name . position)) (defalias 'omnisharp-imenu-create-index #[0 "\3001\301C\302\303\304 \305\306\"#\210\211\242\2620\207\210\301\207" [(error) nil omnisharp--send-command-to-server-sync "currentfilemembersasflat" omnisharp--get-request-object make-closure #[257 "\300\301\302\"\240\207" [V0 -map #[257 "\300\236A\301!B\207" [Text omnisharp--imenu-make-marker] 4 "\n\n(fn QUICKFIX-ALIST)"]] 5 "\n\n(fn QUICKFIXES)"]] 7 (#$ . 16901) nil]) #@63 Jumps to the closing brace of the current function definition (defalias 'omnisharp--jump-to-enclosing-func #[0 "``\301\212`\204L\302\303!\210`=\203\304\262\202\305\304\306!)\262\203F`\262\30713\310 0\210\2024\210`V\203@\211\262\304\262\211b\210\202\304\262\202\210)b\207" [inhibit-changing-match-data nil search-backward-regexp "(\\|;\\|{" t "(" looking-at (error) forward-sexp] 7 (#$ . 17404) nil]) (defalias 'omnisharp--get-eldoc-fontification-buffer #[0 "\302!\303!\203\n\207r\304!q\210\3051\306\307 )0\210\202\210p)\207" [omnisharp--eldoc-fontification-buffer-name csharp-mode-hook get-buffer buffer-live-p generate-new-buffer (error) nil csharp-mode] 3]) #@12 (fn STR) (defalias 'omnisharp--eldoc-fontify-string #[257 "r\300 q\210ed|\210\301`\302\261\210`\"\210edS{)\207" [omnisharp--get-eldoc-fontification-buffer font-lock-fontify-region ";"] 5 (#$ . 18104)]) #@166 Returns a doc string appropriate for the current context. If point is on an empty char, it looks for data on any previous completions. Otherwise, returns nil. (defalias 'omnisharp-eldoc-function #[0 "\302=?\205-\3031+\304\305\306!)\262?\205)\3071'\310\311\312 \313#0\210\202(\210\3020\207\210\302\207" [omnisharp--server-info inhibit-changing-match-data nil (error) " " t looking-at (error) omnisharp--send-command-to-server "typelookup" omnisharp--get-typelookup-request-object #[257 "\300\301\"\302\300\303\"\206 \304!\205\304\230?\205\304\230?\205%\305!\205.\205.\306Q\2048\205;\307!\207" [omnisharp--completion-result-get-item Type string-trim-right Documentation "" omnisharp--eldoc-fontify-string "\n\n" eldoc-message] 8 "\n\n(fn RESPONSE)"]] 4 (#$ . 18317)]) (byte-code "\300\301\302\"\210\300\301\303\"\210\304\305!\207" [add-to-list compilation-error-regexp-alist (" in \\(.+\\):\\([1-9][0-9]+\\)" 1 2) (" in \\(.+\\):line \\([0-9]+\\)" 1 2) provide omnisharp] 3)