Añadido csharp-mode.
This commit is contained in:
parent
d979640284
commit
ab33c20863
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
ac-comphist.dat
|
||||
.mc-lists.el
|
||||
auto-save-list/*
|
||||
projectile-bookmarks.eld
|
||||
|
@ -111,7 +111,7 @@
|
||||
("David Gonzalez Gandara" . "dggandara@member.fsf.org"))
|
||||
(:maintainer "David Gonzalez Gandara" . "dggandara@member.fsf.org"))])
|
||||
(ascii-art-to-unicode .
|
||||
[(1 12)
|
||||
[(1 13)
|
||||
nil "a small artist adjunct" single
|
||||
((:keywords "ascii" "unicode" "box-drawing")
|
||||
(:authors
|
||||
@ -131,7 +131,7 @@
|
||||
("John Wiegley" . "jwiegley@gmail.com"))
|
||||
(:keywords "async"))])
|
||||
(auctex .
|
||||
[(12 2 5)
|
||||
[(12 3 1)
|
||||
((emacs
|
||||
(24 1))
|
||||
(cl-lib
|
||||
@ -246,12 +246,12 @@
|
||||
(1 3))
|
||||
(cl-lib
|
||||
(0 5)))
|
||||
"Hunt down errors by bisecting elisp files" single
|
||||
((:keywords "lisp")
|
||||
"Hunt down errors by bisecting elisp files" tar
|
||||
((:url . "https://github.com/Malabarba/elisp-bug-hunter")
|
||||
(:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com")
|
||||
(:authors
|
||||
("Artur Malabarba" . "emacs@endlessparentheses.com"))
|
||||
(:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com")
|
||||
(:url . "https://github.com/Malabarba/elisp-bug-hunter"))])
|
||||
(:keywords "lisp"))])
|
||||
(caps-lock .
|
||||
[(1 0)
|
||||
nil "Caps-lock as a minor mode" single
|
||||
@ -329,7 +329,7 @@
|
||||
(:maintainer "Chris Wanstrath" . "chris@ozmm.org")
|
||||
(:url . "http://github.com/defunkt/coffee-mode"))])
|
||||
(compact-docstrings .
|
||||
[(0 1)
|
||||
[(0 2)
|
||||
nil "Shrink blank lines in docstrings and doc comments" single
|
||||
((:keywords "convenience" "faces" "lisp" "maint" "c")
|
||||
(:authors
|
||||
@ -397,14 +397,14 @@
|
||||
(24 5))
|
||||
(swiper
|
||||
(0 13 1)))
|
||||
"Various completion functions using Ivy" single
|
||||
((:keywords "convenience" "matching" "tools")
|
||||
"Various completion functions using Ivy" tar
|
||||
((:url . "https://github.com/abo-abo/swiper")
|
||||
(:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com")
|
||||
(:authors
|
||||
("Oleh Krehel" . "ohwoeowho@gmail.com"))
|
||||
(:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com")
|
||||
(:url . "https://github.com/abo-abo/swiper"))])
|
||||
(:keywords "convenience" "matching" "tools"))])
|
||||
(cpio-mode .
|
||||
[(0 16)
|
||||
[(0 17)
|
||||
((emacs
|
||||
(24 5)))
|
||||
"Handle cpio archives in the style of dired." tar
|
||||
@ -570,7 +570,7 @@
|
||||
(nil . "Frank E. Ritter, ritter@cs.cmu.edu"))
|
||||
(:url . "http://elpa.gnu.org/packages/dismal.html"))])
|
||||
(djvu .
|
||||
[(1 1)
|
||||
[(1 1 1)
|
||||
nil "Edit and view Djvu files via djvused" single
|
||||
((:url . "http://elpa.gnu.org/packages/djvu.html")
|
||||
(:keywords "files" "wp")
|
||||
@ -606,7 +606,7 @@
|
||||
("Leo Liu" . "sdl.web@gmail.com"))
|
||||
(:keywords "killing" "convenience"))])
|
||||
(ebdb .
|
||||
[(0 6 19)
|
||||
[(0 6 21)
|
||||
((emacs
|
||||
(25 1))
|
||||
(cl-lib
|
||||
@ -650,7 +650,7 @@
|
||||
(:maintainer "Markus Triska" . "triska@metalevel.at")
|
||||
(:url . "https://www.metalevel.at/ediprolog/"))])
|
||||
(eev .
|
||||
[(20200928)
|
||||
[(20201013)
|
||||
((emacs
|
||||
(24 1)))
|
||||
"Support for e-scripts (eepitch blocks, elisp hyperlinks, etc)" tar
|
||||
@ -688,7 +688,7 @@
|
||||
(:keywords "lisp")
|
||||
(:url . "http://elpa.gnu.org/packages/el-search.html"))])
|
||||
(eldoc .
|
||||
[(1 10 0)
|
||||
[(1 11 0)
|
||||
((emacs
|
||||
(26 3)))
|
||||
"Show function arglist or variable docstring in echo area" single
|
||||
@ -712,7 +712,7 @@
|
||||
("William Xu" . "william.xwl@gmail.com"))
|
||||
(:maintainer "William Xu" . "william.xwl@gmail.com"))])
|
||||
(elisp-benchmarks .
|
||||
[(1 8)
|
||||
[(1 9)
|
||||
nil "elisp benchmarks collection" tar
|
||||
((:maintainer "Andrea Corallo" . "akrl@sdf.org")
|
||||
(:authors
|
||||
@ -720,9 +720,11 @@
|
||||
(:keywords "languages" "lisp")
|
||||
(:url . "http://elpa.gnu.org/packages/elisp-benchmarks.html"))])
|
||||
(emms .
|
||||
[(5 42)
|
||||
[(6 2)
|
||||
((cl-lib
|
||||
(0 5)))
|
||||
(0 5))
|
||||
(seq
|
||||
(0)))
|
||||
"The Emacs Multimedia System" tar
|
||||
((:url . "https://www.gnu.org/software/emms/")
|
||||
(:maintainer "Yoni Rabkin" . "yrk@gnu.org")
|
||||
@ -764,7 +766,7 @@
|
||||
("Matthew L. Fidler" . "matthew.fidler@gmail.com"))
|
||||
(:keywords "convenience"))])
|
||||
(excorporate .
|
||||
[(0 9 0)
|
||||
[(0 9 1)
|
||||
((emacs
|
||||
(24 1))
|
||||
(fsm
|
||||
@ -872,6 +874,16 @@
|
||||
(:authors
|
||||
("Magnus Henoch" . "magnus.henoch@gmail.com"))
|
||||
(:maintainer "Thomas Fitzsimmons" . "fitzsim@fitzsim.org"))])
|
||||
(gcmh .
|
||||
[(0 2 1)
|
||||
((emacs
|
||||
(24)))
|
||||
"the Garbage Collector Magic Hack" single
|
||||
((:keywords "internal")
|
||||
(:authors
|
||||
("Andrea Corallo" . "akrl@sdf.org"))
|
||||
(:maintainer nil . "akrl@sdf.org")
|
||||
(:url . "https://gitlab.com/koral/gcmh"))])
|
||||
(ggtags .
|
||||
[(0 8 13)
|
||||
((emacs
|
||||
@ -914,7 +926,7 @@
|
||||
(:keywords "gnome" "c" "coding style")
|
||||
(:url . "http://elpa.gnu.org/packages/gnome-c-style.html"))])
|
||||
(gnorb .
|
||||
[(1 6 8)
|
||||
[(1 6 9)
|
||||
((cl-lib
|
||||
(0 5)))
|
||||
"Glue code between Gnus, Org, and BBDB" tar
|
||||
@ -939,7 +951,7 @@
|
||||
(:keywords "maint" "tools")
|
||||
(:url . "http://elpa.gnu.org/packages/gnu-elpa-keyring-update.html"))])
|
||||
(gnugo .
|
||||
[(3 1 0)
|
||||
[(3 1 1)
|
||||
((ascii-art-to-unicode
|
||||
(1 5))
|
||||
(xpm
|
||||
@ -979,6 +991,14 @@
|
||||
("Michelangelo Rodriguez" . "michelangelo.rodriguez@gmail.com"))
|
||||
(:keywords "tools" "accessibility")
|
||||
(:url . "http://elpa.gnu.org/packages/greader.html"))])
|
||||
(greenbar .
|
||||
[(1 1)
|
||||
nil "Mark comint output with \"greenbar\" background" single
|
||||
((:url . "http://elpa.gnu.org/packages/greenbar.html")
|
||||
(:keywords "faces" "terminals")
|
||||
(:authors
|
||||
("Michael R. Mauger" . "michael@mauger.com"))
|
||||
(:maintainer "Michael R. Mauger" . "michael@mauger.com"))])
|
||||
(guess-language .
|
||||
[(0 0 1)
|
||||
((cl-lib
|
||||
@ -1091,7 +1111,7 @@
|
||||
(:maintainer "Clemens Radermacher" . "clemera@posteo.net")
|
||||
(:url . "https://github.com/clemera/ivy-explorer"))])
|
||||
(ivy-posframe .
|
||||
[(0 5 0)
|
||||
[(0 5 3)
|
||||
((emacs
|
||||
(26 0))
|
||||
(posframe
|
||||
@ -1138,7 +1158,7 @@
|
||||
("Dmitry Gutov" . "dgutov@yandex.ru"))
|
||||
(:keywords "languages" "javascript"))])
|
||||
(json-mode .
|
||||
[(0 1)
|
||||
[(0 2)
|
||||
((emacs
|
||||
(25 1)))
|
||||
"Major mode for editing JSON files" single
|
||||
@ -1148,7 +1168,7 @@
|
||||
("Simen Heggestøyl" . "simenheg@gmail.com"))
|
||||
(:maintainer "Simen Heggestøyl" . "simenheg@gmail.com"))])
|
||||
(jsonrpc .
|
||||
[(1 0 12)
|
||||
[(1 0 14)
|
||||
((emacs
|
||||
(25 2)))
|
||||
"JSON-RPC library" single
|
||||
@ -1173,7 +1193,7 @@
|
||||
(:keywords "lisp" "convenience")
|
||||
(:authors
|
||||
("Tino Calancha" . "tino.calancha@gmail.com"))
|
||||
(:maintainer "Tino Calancha"))])
|
||||
(:maintainer "Tino Calancha" . "tino.calancha@gmail.com"))])
|
||||
(landmark .
|
||||
[(1 0)
|
||||
nil "Neural-network robot that learns landmarks" single
|
||||
@ -1183,9 +1203,9 @@
|
||||
("Terrence Brannon" . "metaperl@gmail.com"))
|
||||
(:maintainer nil . "emacs-devel@gnu.org"))])
|
||||
(leaf .
|
||||
[(4 2 5)
|
||||
[(4 3 2)
|
||||
((emacs
|
||||
(24 4)))
|
||||
(24 1)))
|
||||
"Simplify your init.el configuration, extended use-package" tar
|
||||
((:url . "https://github.com/conao3/leaf.el")
|
||||
(:maintainer "Naoya Yamashita" . "conao3@gmail.com")
|
||||
@ -1264,7 +1284,7 @@
|
||||
("Nicolas Petton" . "nicolas@petton.fr"))
|
||||
(:maintainer nil . "emacs-devel@gnu.org"))])
|
||||
(markchars .
|
||||
[(0 2 1)
|
||||
[(0 2 2)
|
||||
nil "Mark chars fitting certain characteristics" single
|
||||
((:url . "http://elpa.gnu.org/packages/markchars.html")
|
||||
(:authors
|
||||
@ -1284,8 +1304,8 @@
|
||||
((:url . "http://elpa.gnu.org/packages/memory-usage.html")
|
||||
(:keywords "maint")
|
||||
(:authors
|
||||
("Stefan Monnier" . "monnier@cs.yale.edu"))
|
||||
(:maintainer "Stefan Monnier" . "monnier@cs.yale.edu"))])
|
||||
("Stefan Monnier" . "monnier@iro.umontreal.ca"))
|
||||
(:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))])
|
||||
(metar .
|
||||
[(0 3)
|
||||
((cl-lib
|
||||
@ -1363,7 +1383,7 @@
|
||||
(:maintainer "Protesilaos Stavrou" . "info@protesilaos.com")
|
||||
(:url . "https://gitlab.com/protesilaos/modus-themes"))])
|
||||
(multishell .
|
||||
[(1 1 5)
|
||||
[(1 1 9)
|
||||
((cl-lib
|
||||
(0 5)))
|
||||
"Easily use multiple shell buffers, local and remote" tar
|
||||
@ -1528,7 +1548,7 @@
|
||||
("Ian Dunn" . "dunni@gnu.org"))
|
||||
(:keywords "convenience" "text" "org"))])
|
||||
(org-translate .
|
||||
[(0 1 1)
|
||||
[(0 1 2)
|
||||
((emacs
|
||||
(25 1))
|
||||
(org
|
||||
@ -1623,7 +1643,7 @@
|
||||
("Phillip Lord" . "phillip.lord@russet.org.uk"))
|
||||
(:url . "http://elpa.gnu.org/packages/persist.html"))])
|
||||
(phps-mode .
|
||||
[(0 3 62)
|
||||
[(0 3 65)
|
||||
((emacs
|
||||
(26)))
|
||||
"Major mode for PHP with Semantic integration" tar
|
||||
@ -1649,7 +1669,7 @@
|
||||
("Mario Lang" . "mlang@delysid.org"))
|
||||
(:maintainer "Mario Lang" . "mlang@delysid.org"))])
|
||||
(posframe .
|
||||
[(0 8 0)
|
||||
[(0 8 3)
|
||||
((emacs
|
||||
(26)))
|
||||
"Pop a posframe (just a frame) at point" single
|
||||
@ -1684,7 +1704,7 @@
|
||||
("Scott Andrew Borton" . "scott@pp.htv.fi"))
|
||||
(:maintainer "John Darrington" . "john@darrington.wattle.id.au"))])
|
||||
(python .
|
||||
[(0 26 1)
|
||||
[(0 27)
|
||||
((emacs
|
||||
(24 1))
|
||||
(cl-lib
|
||||
@ -1701,8 +1721,8 @@
|
||||
((:url . "http://elpa.gnu.org/packages/quarter-plane.html")
|
||||
(:keywords "convenience" "wp")
|
||||
(:authors
|
||||
("Peter J. Weisberg"))
|
||||
(:maintainer "Peter J. Weisberg"))])
|
||||
("Peter J. Weisberg" . "pj@irregularexpressions.net"))
|
||||
(:maintainer "Peter J. Weisberg" . "pj@irregularexpressions.net"))])
|
||||
(queue .
|
||||
[(0 2)
|
||||
nil "Queue data structure" single
|
||||
@ -1848,6 +1868,15 @@
|
||||
(:maintainer "Rocky Bernstein" . "rocky@gnu.org")
|
||||
(:authors
|
||||
("Rocky Bernstein" . "rocky@gnu.org")))])
|
||||
(rec-mode .
|
||||
[(1 6)
|
||||
((emacs
|
||||
(25)))
|
||||
"Major mode for viewing/editing rec files" tar
|
||||
((:url . "https://www.gnu.org/software/recutils/")
|
||||
(:maintainer "Antoine Kalmbach" . "ane@iki.fi")
|
||||
(:authors
|
||||
("Jose E. Marchesi" . "jemarch@gnu.org")))])
|
||||
(register-list .
|
||||
[(0 1)
|
||||
nil "Interactively list/edit registers" single
|
||||
@ -1857,9 +1886,9 @@
|
||||
("Bastien Guerry" . "bzg@gnu.org"))
|
||||
(:maintainer "Bastien Guerry" . "bzg@gnu.org"))])
|
||||
(relint .
|
||||
[(1 18)
|
||||
[(1 19)
|
||||
((xr
|
||||
(1 19))
|
||||
(1 20))
|
||||
(emacs
|
||||
(26 1)))
|
||||
"Elisp regexp mistake finder" tar
|
||||
@ -1979,8 +2008,18 @@
|
||||
("Ralph Amissah & Ambrose Kofi Laing"))
|
||||
(:maintainer "Ralph Amissah" . "ralph.amissah@gmail.com")
|
||||
(:url . "http://www.sisudoc.org/"))])
|
||||
(slime-volleyball .
|
||||
[(1 1 7)
|
||||
((cl-lib
|
||||
(0 5)))
|
||||
"An SVG Slime Volleyball Game" tar
|
||||
((:maintainer "Thomas Fitzsimmons" . "fitzsim@fitzsim.org")
|
||||
(:authors
|
||||
("Thomas Fitzsimmons" . "fitzsim@fitzsim.org"))
|
||||
(:keywords "games")
|
||||
(:url . "http://elpa.gnu.org/packages/slime-volleyball.html"))])
|
||||
(sm-c-mode .
|
||||
[(1 0)
|
||||
[(1 1)
|
||||
nil "C major mode based on SMIE" single
|
||||
((:url . "http://elpa.gnu.org/packages/sm-c-mode.html")
|
||||
(:authors
|
||||
@ -2090,7 +2129,7 @@
|
||||
("Alex Harsanyi" . "AlexHarsanyi@gmail.com"))
|
||||
(:keywords "languages" "sql"))])
|
||||
(ssh-deploy .
|
||||
[(3 1 11)
|
||||
[(3 1 12)
|
||||
((emacs
|
||||
(25)))
|
||||
"Deployment via Tramp, global or per directory." tar
|
||||
@ -2138,12 +2177,12 @@
|
||||
(24 5))
|
||||
(ivy
|
||||
(0 13 1)))
|
||||
"Isearch with an overview. Oh, man!" single
|
||||
((:keywords "matching")
|
||||
"Isearch with an overview. Oh, man!" tar
|
||||
((:url . "https://github.com/abo-abo/swiper")
|
||||
(:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com")
|
||||
(:authors
|
||||
("Oleh Krehel" . "ohwoeowho@gmail.com"))
|
||||
(:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com")
|
||||
(:url . "https://github.com/abo-abo/swiper"))])
|
||||
(:keywords "matching"))])
|
||||
(system-packages .
|
||||
[(1 0 11)
|
||||
((emacs
|
||||
@ -2203,7 +2242,7 @@
|
||||
("Oleh Krehel" . "ohwoeowho@gmail.com"))
|
||||
(:keywords "convenience"))])
|
||||
(tramp .
|
||||
[(2 4 4 2)
|
||||
[(2 4 4 4)
|
||||
((emacs
|
||||
(24 4)))
|
||||
"Transparent Remote Access, Multiple Protocol" tar
|
||||
@ -2251,7 +2290,7 @@
|
||||
(:maintainer "Toby Cubitt" . "toby-undo-tree@dr-qubit.org")
|
||||
(:url . "http://www.dr-qubit.org/emacs.php"))])
|
||||
(uni-confusables .
|
||||
[(0 1)
|
||||
[(0 2)
|
||||
nil "Unicode confusables table" tar
|
||||
((:maintainer "Teodor Zlatanov" . "tzz@lifelogs.com")
|
||||
(:url . "http://elpa.gnu.org/packages/uni-confusables.html"))])
|
||||
@ -2291,6 +2330,16 @@
|
||||
(:authors
|
||||
("Artur Malabarba" . "emacs@endlessparentheses.com"))
|
||||
(:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com"))])
|
||||
(valign .
|
||||
[(3 0 0)
|
||||
((emacs
|
||||
(26 0)))
|
||||
"Visually align tables" single
|
||||
((:keywords "convenience" "text" "table")
|
||||
(:authors
|
||||
("Yuan Fu" . "casouri@gmail.com"))
|
||||
(:maintainer "Yuan Fu" . "casouri@gmail.com")
|
||||
(:url . "https://github.com/casouri/valign"))])
|
||||
(vcard .
|
||||
[(0 1)
|
||||
((emacs
|
||||
@ -2309,17 +2358,17 @@
|
||||
("Sergey Poznyakoff" . "gray@gnu.org.ua"))
|
||||
(:maintainer "Sergey Poznyakoff" . "gray@gnu.org.ua"))])
|
||||
(vdiff .
|
||||
[(0 2 3)
|
||||
[(0 2 4)
|
||||
((emacs
|
||||
(24 4))
|
||||
(hydra
|
||||
(0 13 0)))
|
||||
"A diff tool similar to vimdiff" single
|
||||
((:keywords "diff")
|
||||
"A diff tool similar to vimdiff" tar
|
||||
((:url . "https://github.com/justbur/emacs-vdiff")
|
||||
(:maintainer "Justin Burkett" . "justin@burkett.cc")
|
||||
(:authors
|
||||
("Justin Burkett" . "justin@burkett.cc"))
|
||||
(:maintainer "Justin Burkett" . "justin@burkett.cc")
|
||||
(:url . "https://github.com/justbur/emacs-vdiff"))])
|
||||
(:keywords "diff"))])
|
||||
(verilog-mode .
|
||||
[(2020 6 27 14326051)
|
||||
nil "major mode for editing verilog source in Emacs" single
|
||||
@ -2391,7 +2440,7 @@
|
||||
("Eric Schulte" . "schulte.eric@gmail.com"))
|
||||
(:keywords "http" "server" "network"))])
|
||||
(webfeeder .
|
||||
[(1 0 0)
|
||||
[(1 1 1)
|
||||
((emacs
|
||||
(25 1)))
|
||||
"Build RSS and Atom webfeeds from HTML files" tar
|
||||
@ -2499,7 +2548,7 @@
|
||||
("Thien-Thi Nguyen" . "ttn@gnu.org"))
|
||||
(:keywords "multimedia" "xpm"))])
|
||||
(xr .
|
||||
[(1 19)
|
||||
[(1 20)
|
||||
((emacs
|
||||
(26 1)))
|
||||
"Convert string regexp to rx notation" tar
|
||||
|
@ -1 +1 @@
|
||||
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2020-10-05T17:05:02-0400 using RSA
|
||||
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2020-12-05T06:05:02-0400 using RSA
|
File diff suppressed because it is too large
Load Diff
37
elpa/csharp-mode-20201104.743/csharp-mode-autoloads.el
Normal file
37
elpa/csharp-mode-20201104.743/csharp-mode-autoloads.el
Normal file
@ -0,0 +1,37 @@
|
||||
;;; csharp-mode-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "csharp-mode" "csharp-mode.el" (0 0 0 0))
|
||||
;;; Generated autoloads from csharp-mode.el
|
||||
|
||||
(add-to-list 'auto-mode-alist '("\\.cs\\'" . csharp-mode))
|
||||
|
||||
(defvar csharp-mode-hook nil "\
|
||||
*Hook called by `csharp-mode'.")
|
||||
|
||||
(custom-autoload 'csharp-mode-hook "csharp-mode" t)
|
||||
|
||||
(autoload 'csharp-mode "csharp-mode" "\
|
||||
Major mode for editing Csharp code.
|
||||
|
||||
Key bindings:
|
||||
\\{csharp-mode-map}
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "csharp-mode" '("codedoc-font-lock-" "csharp-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; csharp-mode-autoloads.el ends here
|
2
elpa/csharp-mode-20201104.743/csharp-mode-pkg.el
Normal file
2
elpa/csharp-mode-20201104.743/csharp-mode-pkg.el
Normal file
@ -0,0 +1,2 @@
|
||||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "csharp-mode" "20201104.743" "C# mode derived mode" 'nil :commit "49168293a28aaaf84b9655fe1b2abe402c5e2ee1" :keywords '("c#" "languages" "oop" "mode") :authors '(("Theodor Thornhill" . "theo@thornhill.no")) :maintainer '("Jostein Kjønigsen" . "jostein@gmail.com") :url "https://github.com/josteink/csharp-mode")
|
682
elpa/csharp-mode-20201104.743/csharp-mode.el
Normal file
682
elpa/csharp-mode-20201104.743/csharp-mode.el
Normal file
@ -0,0 +1,682 @@
|
||||
;;; csharp-mode.el --- C# mode derived mode -*- lexical-binding: t; -*-
|
||||
|
||||
;; Author : Theodor Thornhill <theo@thornhill.no>
|
||||
;; Maintainer : Jostein Kjønigsen <jostein@gmail.com>
|
||||
;; : Theodor Thornhill <theo@thornhill.no>
|
||||
;; Created : September 2020
|
||||
;; Modified : 2020
|
||||
;; Version : 0.10.0
|
||||
;; Package-Version: 20201104.743
|
||||
;; Package-Commit: 49168293a28aaaf84b9655fe1b2abe402c5e2ee1
|
||||
;; Keywords : c# languages oop mode
|
||||
;; X-URL : https://github.com/josteink/csharp-mode
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
;;; Code:
|
||||
|
||||
|
||||
(when (version< emacs-version "25.1")
|
||||
(require 'cl))
|
||||
(require 'cc-mode)
|
||||
(require 'cc-langs)
|
||||
|
||||
(eval-when-compile
|
||||
(require 'cc-fonts))
|
||||
|
||||
(require 'compile)
|
||||
|
||||
(defgroup csharp nil
|
||||
"Major mode for editing C# code."
|
||||
:group 'prog-mode)
|
||||
|
||||
(eval-and-compile
|
||||
(defconst csharp--regex-identifier
|
||||
"[A-Za-z][A-Za-z0-9_]*"
|
||||
"Regex describing an dentifier in C#.")
|
||||
|
||||
(defconst csharp--regex-identifier-matcher
|
||||
(concat "\\(" csharp--regex-identifier "\\)")
|
||||
"Regex matching an identifier in C#.")
|
||||
|
||||
(defconst csharp--regex-type-name
|
||||
"[A-Z][A-Za-z0-9_]*"
|
||||
"Regex describing a type identifier in C#.")
|
||||
|
||||
(defconst csharp--regex-type-name-matcher
|
||||
(concat "\\(" csharp--regex-type-name "\\)")
|
||||
"Regex matching a type identifier in C#.")
|
||||
|
||||
(defconst csharp--regex-using-or-namespace
|
||||
(concat "using" "\\|" "namespace"
|
||||
"\\s *"
|
||||
csharp--regex-type-name-matcher)
|
||||
"Regex matching identifiers after a using or namespace
|
||||
declaration."))
|
||||
|
||||
(eval-and-compile
|
||||
(c-add-language 'csharp-mode 'java-mode))
|
||||
|
||||
(c-lang-defconst c-make-mode-syntax-table
|
||||
csharp `(lambda ()
|
||||
(let ((table (make-syntax-table)))
|
||||
(c-populate-syntax-table table)
|
||||
(modify-syntax-entry ?@ "_" table)
|
||||
table)))
|
||||
|
||||
(c-lang-defconst c-identifier-syntax-modifications
|
||||
csharp (append '((?@ . "w"))
|
||||
(c-lang-const c-identifier-syntax-modifications)))
|
||||
|
||||
(c-lang-defconst c-symbol-start
|
||||
csharp (concat "[" c-alpha "_@]"))
|
||||
|
||||
(c-lang-defconst c-opt-type-suffix-key
|
||||
csharp (concat "\\(\\[" (c-lang-const c-simple-ws) "*\\]\\|\\?\\)"))
|
||||
|
||||
(c-lang-defconst c-identifier-ops
|
||||
csharp '((left-assoc ".")))
|
||||
|
||||
(c-lang-defconst c-overloadable-operators
|
||||
csharp '("+" "-" "*" "/" "%" "&" "|" "^" "<<" ">>" "=="
|
||||
"!=" ">" "<" ">=" "<="))
|
||||
|
||||
(c-lang-defconst c-multiline-string-start-char
|
||||
csharp ?@)
|
||||
|
||||
(c-lang-defconst c-type-prefix-kwds
|
||||
csharp '("class" "interface" "struct"))
|
||||
|
||||
(c-lang-defconst c-class-decl-kwds
|
||||
csharp '("class" "interface" "struct"))
|
||||
|
||||
;;; Keyword lists
|
||||
|
||||
(c-lang-defconst c-primitive-type-kwds
|
||||
csharp '("bool" "byte" "sbyte" "char" "decimal" "double" "float" "int" "uint"
|
||||
"long" "ulong" "short" "ushort" "void" "object" "string" "var"))
|
||||
|
||||
(c-lang-defconst c-other-decl-kwds
|
||||
csharp nil)
|
||||
|
||||
(c-lang-defconst c-type-list-kwds
|
||||
csharp nil)
|
||||
|
||||
(c-lang-defconst c-other-block-decl-kwds
|
||||
csharp nil)
|
||||
|
||||
(c-lang-defconst c-return-kwds
|
||||
csharp '("return"))
|
||||
|
||||
(c-lang-defconst c-typedef-kwds
|
||||
csharp nil)
|
||||
|
||||
(c-lang-defconst c-typeof-kwds
|
||||
csharp '("typeof" "is" "as"))
|
||||
|
||||
(c-lang-defconst c-type-modifier-prefix-kwds
|
||||
csharp '("volatile"))
|
||||
|
||||
(c-lang-defconst c-type-modifier-kwds
|
||||
csharp '("readonly" "new"))
|
||||
|
||||
(c-lang-defconst c-brace-list-decl-kwds
|
||||
csharp '("enum" "new"))
|
||||
|
||||
(c-lang-defconst c-recognize-post-brace-list-type-p
|
||||
csharp t)
|
||||
|
||||
(c-lang-defconst c-ref-list-kwds
|
||||
csharp nil)
|
||||
|
||||
(c-lang-defconst c-using-kwds
|
||||
csharp '("using"))
|
||||
|
||||
(c-lang-defconst c-equals-type-clause-kwds
|
||||
csharp '("using"))
|
||||
|
||||
(defun csharp-at-vsemi-p (&optional pos)
|
||||
(if pos (goto-char pos))
|
||||
(save-excursion
|
||||
(beginning-of-line)
|
||||
(c-forward-syntactic-ws)
|
||||
(looking-at "using\\s *(")))
|
||||
|
||||
(c-lang-defconst c-at-vsemi-p-fn
|
||||
csharp 'csharp-at-vsemi-p)
|
||||
|
||||
(defun csharp-vsemi-status-unknown () t)
|
||||
|
||||
(c-lang-defconst c-vsemi-status-unknown-p-fn
|
||||
csharp 'csharp-vsemi-status-unknown-p)
|
||||
|
||||
|
||||
(c-lang-defconst c-modifier-kwds
|
||||
csharp '("abstract" "default" "final" "native" "private" "protected"
|
||||
"public" "partial" "internal" "readonly" "static" "event" "transient"
|
||||
"volatile" "sealed" "ref" "out" "virtual" "implicit" "explicit"
|
||||
"fixed" "override" "params" "async" "await" "extern" "unsafe"
|
||||
"get" "set" "this" "const" "delegate"))
|
||||
|
||||
(c-lang-defconst c-other-kwds
|
||||
csharp '("select" "from" "where" "join" "in" "on" "equals" "into"
|
||||
"orderby" "ascending" "descending" "group" "when"
|
||||
"let" "by" "namespace"))
|
||||
|
||||
(c-lang-defconst c-colon-type-list-kwds
|
||||
csharp '("class" "struct" "interface"))
|
||||
|
||||
(c-lang-defconst c-block-stmt-1-kwds
|
||||
csharp '("do" "else" "finally" "try"))
|
||||
|
||||
(c-lang-defconst c-block-stmt-1-2-kwds
|
||||
csharp '("try"))
|
||||
|
||||
(c-lang-defconst c-block-stmt-2-kwds
|
||||
csharp '("for" "if" "switch" "while" "catch" "foreach" "fixed" "checked"
|
||||
"unchecked" "using" "lock"))
|
||||
|
||||
(c-lang-defconst c-simple-stmt-kwds
|
||||
csharp '("break" "continue" "goto" "throw" "return" "yield"))
|
||||
|
||||
(c-lang-defconst c-constant-kwds
|
||||
csharp '("true" "false" "null" "value"))
|
||||
|
||||
(c-lang-defconst c-primary-expr-kwds
|
||||
csharp '("this" "base" "operator"))
|
||||
|
||||
(c-lang-defconst c-inexpr-class-kwds
|
||||
csharp nil)
|
||||
|
||||
(c-lang-defconst c-class-decl-kwds
|
||||
csharp '("class" "struct" "interface"))
|
||||
|
||||
(c-lang-defconst c-std-abbrev-keywords
|
||||
csharp (append (c-lang-const c-std-abbrev-keywords) '("catch" "finally")))
|
||||
|
||||
(c-lang-defconst c-decl-prefix-re
|
||||
csharp "\\([{}(;,<]+\\)")
|
||||
|
||||
(c-lang-defconst c-recognize-typeless-decls
|
||||
csharp t)
|
||||
|
||||
(c-lang-defconst c-recognize-<>-arglists
|
||||
csharp t)
|
||||
|
||||
(c-lang-defconst c-opt-cpp-prefix
|
||||
csharp "\\s *#\\s *")
|
||||
|
||||
(c-lang-defconst c-opt-cpp-macro-define
|
||||
csharp (if (c-lang-const c-opt-cpp-prefix)
|
||||
"define"))
|
||||
|
||||
(c-lang-defconst c-cpp-message-directives
|
||||
csharp '("error" "warning" "region"))
|
||||
|
||||
(c-lang-defconst c-cpp-expr-directives
|
||||
csharp '("if" "elif"))
|
||||
|
||||
(c-lang-defconst c-other-op-syntax-tokens
|
||||
csharp (append '("#")
|
||||
(c-lang-const c-other-op-syntax-tokens)))
|
||||
|
||||
(c-lang-defconst c-line-comment-starter
|
||||
csharp "//")
|
||||
|
||||
(c-lang-defconst c-doc-comment-start-regexp
|
||||
csharp "///")
|
||||
|
||||
(c-add-style "csharp"
|
||||
'("java"
|
||||
(c-basic-offset . 4)
|
||||
(c-comment-only-line-offset . (0 . 0))
|
||||
(c-offsets-alist . ((inline-open . 0)
|
||||
(arglist-intro . +)
|
||||
(arglist-close . 0)
|
||||
(inexpr-class . 0)
|
||||
(case-label . +)
|
||||
(cpp-macro . c-lineup-dont-change)
|
||||
(substatement-open . 0)))))
|
||||
|
||||
(eval-and-compile
|
||||
(unless (assoc 'csharp-mode c-default-style)
|
||||
(setq c-default-style
|
||||
(cons '(csharp-mode . "csharp")
|
||||
c-default-style))))
|
||||
|
||||
(defun csharp--color-forwards (font-lock-face)
|
||||
(let (id-beginning)
|
||||
(goto-char (match-beginning 0))
|
||||
(forward-word)
|
||||
(while (and (not (or (eq (char-after) ?\;)
|
||||
(eq (char-after) ?\{)))
|
||||
(progn
|
||||
(forward-char)
|
||||
(c-forward-syntactic-ws)
|
||||
(setq id-beginning (point))
|
||||
(> (skip-chars-forward
|
||||
(c-lang-const c-symbol-chars))
|
||||
0))
|
||||
(not (get-text-property (point) 'face)))
|
||||
(c-put-font-lock-face id-beginning (point) font-lock-face)
|
||||
(c-forward-syntactic-ws))))
|
||||
|
||||
(c-lang-defconst c-basic-matchers-before
|
||||
csharp `(
|
||||
;; Warning face on unclosed strings
|
||||
,@(if (version< emacs-version "27.0")
|
||||
;; Taken from 26.1 branch
|
||||
`(,(c-make-font-lock-search-function
|
||||
(concat ".\\(" c-string-limit-regexp "\\)")
|
||||
'((c-font-lock-invalid-string))))
|
||||
`(("\\s|" 0 font-lock-warning-face t nil)))
|
||||
|
||||
;; Invalid single quotes
|
||||
c-font-lock-invalid-single-quotes
|
||||
|
||||
;; Keyword constants
|
||||
,@(when (c-lang-const c-constant-kwds)
|
||||
(let ((re (c-make-keywords-re nil (c-lang-const c-constant-kwds))))
|
||||
`((eval . (list ,(concat "\\<\\(" re "\\)\\>")
|
||||
1 c-constant-face-name)))))
|
||||
|
||||
;; Keywords except the primitive types.
|
||||
,`(,(concat "\\<" (c-lang-const c-regular-keywords-regexp))
|
||||
1 font-lock-keyword-face)
|
||||
|
||||
;; Chained identifiers in using/namespace statements
|
||||
,`(,(c-make-font-lock-search-function
|
||||
csharp--regex-using-or-namespace
|
||||
`((csharp--color-forwards font-lock-variable-name-face)
|
||||
nil
|
||||
(goto-char (match-end 0)))))
|
||||
|
||||
|
||||
;; Negation character
|
||||
(eval . (list "\\(!\\)[^=]" 1 c-negation-char-face-name))
|
||||
|
||||
;; Types after 'new'
|
||||
(eval . (list (concat "\\<new\\> *" csharp--regex-type-name-matcher)
|
||||
1 font-lock-type-face))
|
||||
|
||||
;; Single identifier in attribute
|
||||
(eval . (list (concat "\\[" csharp--regex-type-name-matcher "\\][^;]")
|
||||
1 font-lock-variable-name-face t))
|
||||
|
||||
;; Function names
|
||||
(eval . (list "\\([A-Za-z0-9_]+\\)\\(<[a-zA-Z0-9, ]+>\\)?("
|
||||
1 font-lock-function-name-face))
|
||||
|
||||
;; Nameof
|
||||
(eval . (list (concat "\\(\\<nameof\\>\\) *(")
|
||||
1 font-lock-function-name-face))
|
||||
|
||||
(eval . (list (concat "\\<nameof\\> *( *"
|
||||
csharp--regex-identifier-matcher
|
||||
" *) *")
|
||||
1 font-lock-variable-name-face))
|
||||
|
||||
;; Catch statements with type only
|
||||
(eval . (list (concat "\\<catch\\> *( *"
|
||||
csharp--regex-type-name-matcher
|
||||
" *) *")
|
||||
1 font-lock-type-face))
|
||||
))
|
||||
|
||||
(c-lang-defconst c-basic-matchers-after
|
||||
csharp (append
|
||||
;; Merge with cc-mode defaults - enables us to add more later
|
||||
(c-lang-const c-basic-matchers-after)))
|
||||
|
||||
(defcustom csharp-codedoc-tag-face 'c-doc-markup-face-name
|
||||
"Face to be used on the codedoc docstring tags.
|
||||
|
||||
Should be one of the font lock faces, such as
|
||||
`font-lock-variable-name-face' and friends.
|
||||
|
||||
Needs to be set before `csharp-mode' is loaded, because of
|
||||
compilation and evaluation time conflicts."
|
||||
:type 'symbol
|
||||
:group 'csharp)
|
||||
|
||||
(defcustom csharp-font-lock-extra-types
|
||||
(list csharp--regex-type-name)
|
||||
(c-make-font-lock-extra-types-blurb "C#" "csharp-mode" (concat))
|
||||
:type 'c-extra-types-widget
|
||||
:group 'c)
|
||||
|
||||
(defconst csharp-font-lock-keywords-1 (c-lang-const c-matchers-1 csharp)
|
||||
"Minimal font locking for C# mode.")
|
||||
|
||||
(defconst csharp-font-lock-keywords-2 (c-lang-const c-matchers-2 csharp)
|
||||
"Fast normal font locking for C# mode.")
|
||||
|
||||
(defconst csharp-font-lock-keywords-3 (c-lang-const c-matchers-3 csharp)
|
||||
"Accurate normal font locking for C# mode.")
|
||||
|
||||
(defvar csharp-font-lock-keywords csharp-font-lock-keywords-3
|
||||
"Default expressions to highlight in C# mode.")
|
||||
|
||||
(defun csharp-font-lock-keywords-2 ()
|
||||
(c-compose-keywords-list csharp-font-lock-keywords-2))
|
||||
(defun csharp-font-lock-keywords-3 ()
|
||||
(c-compose-keywords-list csharp-font-lock-keywords-3))
|
||||
(defun csharp-font-lock-keywords ()
|
||||
(c-compose-keywords-list csharp-font-lock-keywords))
|
||||
|
||||
;;; Compilation support
|
||||
;; When invoked by MSBuild, csc’s errors look like this:
|
||||
;; subfolder\file.cs(6,18): error CS1006: Name of constructor must
|
||||
;; match name of class [c:\Users\user\project.csproj]
|
||||
|
||||
(defun csharp--compilation-error-file-resolve ()
|
||||
"Resolve an msbuild error to a (filename . dirname) cons cell."
|
||||
;; http://stackoverflow.com/a/18049590/429091
|
||||
(cons (match-string 1) (file-name-directory (match-string 4))))
|
||||
|
||||
(defconst csharp-compilation-re-msbuild-error
|
||||
(concat
|
||||
"^[[:blank:]]*\\(?:[[:digit:]]+>\\)?"
|
||||
"\\([^(\r\n)]+\\)(\\([0-9]+\\)\\(?:,\\([0-9]+\\)\\)?): "
|
||||
"error [[:alnum:]]+: [^\r\n]+\\[\\([^]\r\n]+\\)\\]$")
|
||||
"Regexp to match compilation error from msbuild.")
|
||||
|
||||
(defconst csharp-compilation-re-msbuild-warning
|
||||
(concat
|
||||
"^[[:blank:]]*\\(?:[[:digit:]]+>\\)?"
|
||||
"\\([^(\r\n)]+\\)(\\([0-9]+\\)\\(?:,\\([0-9]+\\)\\)?): "
|
||||
"warning [[:alnum:]]+: [^\r\n]+\\[\\([^]\r\n]+\\)\\]$")
|
||||
"Regexp to match compilation warning from msbuild.")
|
||||
|
||||
;; Notes on xbuild and devenv commonalities
|
||||
;;
|
||||
;; These regexes were tailored for xbuild, but apart from the concurrent
|
||||
;; build-marker ("1>") they share exactly the same match-markers.
|
||||
;;
|
||||
;; If we don't exclude the match-markers explicitly, these regexes
|
||||
;; will also be used to match for devenv as well, including the build-marker
|
||||
;; in the file-name, causing the lookup to fail.
|
||||
;;
|
||||
;; So if we don't want devenv to fail, we actually need to handle it in our
|
||||
;; xbuild-regexes, but then we automatically get devenv-support for free.
|
||||
|
||||
(defconst csharp-compilation-re-xbuild-error
|
||||
(concat
|
||||
"^[[:blank:]]*\\(?:[[:digit:]]+>\\)?"
|
||||
"\\([^(\r\n)]+\\)(\\([0-9]+\\)\\(?:,\\([0-9]+\\)\\)?"
|
||||
;; handle weird devenv output format with 4 numbers, not 2 by having optional
|
||||
;; extra capture-groups.
|
||||
"\\(?:,\\([0-9]+\\)\\)*): "
|
||||
"error [[:alnum:]]+: .+$")
|
||||
"Regexp to match compilation error from xbuild.")
|
||||
|
||||
(defconst csharp-compilation-re-xbuild-warning
|
||||
(concat
|
||||
"^[[:blank:]]*\\(?:[[:digit:]]+>\\)?"
|
||||
"\\([^(\r\n)]+\\)(\\([0-9]+\\)\\(?:,\\([0-9]+\\)\\)?"
|
||||
;; handle weird devenv output format with 4 numbers, not 2 by having optional
|
||||
;; extra capture-groups.
|
||||
"\\(?:,\\([0-9]+\\)\\)?*): "
|
||||
"warning [[:alnum:]]+: .+$")
|
||||
"Regexp to match compilation warning from xbuild.")
|
||||
|
||||
(defconst csharp-compilation-re-dotnet-error
|
||||
"\\([^\r\n]+\\) : error [A-Z]+[0-9]+:")
|
||||
|
||||
(defconst csharp-compilation-re-dotnet-warning
|
||||
"\\([^\r\n]+\\) : warning [A-Z]+[0-9]+:")
|
||||
|
||||
(defconst csharp-compilation-re-dotnet-testfail
|
||||
(concat
|
||||
"\\[[A-Za-z.]+[[:blank:]]+[0-9]+:[0-9]+:[0-9]+.[0-9]+\\][^(\n)]+ \\[FAIL\\]\n"
|
||||
"[[:blank:]]+X \\(?:.+\n\\)"
|
||||
"[[:blank:]]+Error Message:\n"
|
||||
"[[:blank:]]+\\(?:.+\n\\)"
|
||||
"[[:blank:]]+Stack Trace:\n"
|
||||
"[[:blank:]]+at [^\n]+ in \\([^\n]+\\):line \\([0-9]+\\)"))
|
||||
|
||||
|
||||
(eval-after-load 'compile
|
||||
(lambda ()
|
||||
(dolist
|
||||
(regexp
|
||||
`((dotnet-testfail
|
||||
,csharp-compilation-re-dotnet-testfail
|
||||
1 2)
|
||||
(xbuild-error
|
||||
,csharp-compilation-re-xbuild-error
|
||||
1 2 3 2)
|
||||
(xbuild-warning
|
||||
,csharp-compilation-re-xbuild-warning
|
||||
1 2 3 1)
|
||||
(msbuild-error
|
||||
,csharp-compilation-re-msbuild-error
|
||||
csharp--compilation-error-file-resolve
|
||||
2
|
||||
3
|
||||
2
|
||||
nil
|
||||
(1 compilation-error-face)
|
||||
(4 compilation-error-face))
|
||||
(msbuild-warning
|
||||
,csharp-compilation-re-msbuild-warning
|
||||
csharp--compilation-error-file-resolve
|
||||
2
|
||||
3
|
||||
1
|
||||
nil
|
||||
(1 compilation-warning-face)
|
||||
(4 compilation-warning-face))
|
||||
(dotnet-error
|
||||
,csharp-compilation-re-dotnet-error
|
||||
1)
|
||||
(dotnet-warning
|
||||
,csharp-compilation-re-dotnet-warning
|
||||
1 nil nil 1)))
|
||||
(add-to-list 'compilation-error-regexp-alist-alist regexp)
|
||||
(add-to-list 'compilation-error-regexp-alist (car regexp)))))
|
||||
|
||||
;;; Doc comments
|
||||
|
||||
(defconst codedoc-font-lock-doc-comments
|
||||
;; Most of this is taken from the javadoc example, however, we don't use the
|
||||
;; '@foo' syntax, so I removed that. Supports the XML tags only
|
||||
`((,(concat "</?\\sw" ; XML tags.
|
||||
"\\("
|
||||
(concat "\\sw\\|\\s \\|[=\n\r*.:]\\|"
|
||||
"\"[^\"]*\"\\|'[^']*'")
|
||||
"\\)*/?>")
|
||||
0 ,csharp-codedoc-tag-face prepend nil)
|
||||
;; ("\\([a-zA-Z0-9_]+\\)=" 0 font-lock-variable-name-face prepend nil)
|
||||
;; ("\".*\"" 0 font-lock-string-face prepend nil)
|
||||
("&\\(\\sw\\|[.:]\\)+;" ; XML entities.
|
||||
0 ,csharp-codedoc-tag-face prepend nil)))
|
||||
|
||||
(defconst codedoc-font-lock-keywords
|
||||
`((,(lambda (limit)
|
||||
(c-font-lock-doc-comments "///" limit
|
||||
codedoc-font-lock-doc-comments)))))
|
||||
|
||||
;;; End of doc comments
|
||||
|
||||
;;; Adding syntax constructs
|
||||
|
||||
(advice-add 'c-looking-at-inexpr-block
|
||||
:around 'csharp-looking-at-inexpr-block)
|
||||
|
||||
(defun csharp-looking-at-inexpr-block (orig-fun &rest args)
|
||||
(let ((res (csharp-at-lambda-header)))
|
||||
(if res
|
||||
res
|
||||
(apply orig-fun args))))
|
||||
|
||||
(defun csharp-at-lambda-header ()
|
||||
(save-excursion
|
||||
(c-backward-syntactic-ws)
|
||||
(unless (bobp)
|
||||
(backward-char)
|
||||
(c-safe (goto-char (scan-sexps (point) -1)))
|
||||
(when (or (looking-at "([[:alnum:][:space:]_,]*)[ \t\n]*=>[ \t\n]*{")
|
||||
(looking-at "[[:alnum:]_]+[ \t\n]*=>[ \t\n]*{"))
|
||||
;; If we are at a C# lambda header
|
||||
(cons 'inexpr (point))))))
|
||||
|
||||
(advice-add 'c-guess-basic-syntax
|
||||
:around 'csharp-guess-basic-syntax)
|
||||
|
||||
(defun csharp-guess-basic-syntax (orig-fun &rest args)
|
||||
(cond
|
||||
(;; Attributes
|
||||
(save-excursion
|
||||
(goto-char (c-point 'iopl))
|
||||
(and
|
||||
(eq (char-after) ?\[)
|
||||
(save-excursion
|
||||
(c-go-list-forward)
|
||||
(and (eq (char-before) ?\])
|
||||
(not (eq (char-after) ?\;))))))
|
||||
`((annotation-top-cont ,(c-point 'iopl))))
|
||||
|
||||
((and
|
||||
;; Heuristics to find object initializers
|
||||
(save-excursion
|
||||
;; Next non-whitespace character should be '{'
|
||||
(goto-char (c-point 'boi))
|
||||
(eq (char-after) ?{))
|
||||
(save-excursion
|
||||
;; 'new' should be part of the line
|
||||
(goto-char (c-point 'iopl))
|
||||
(looking-at ".*\\s *new\\s *.*"))
|
||||
;; Line should not already be terminated
|
||||
(save-excursion
|
||||
(goto-char (c-point 'eopl))
|
||||
(or (not (eq (char-before) ?\;))
|
||||
(not (eq (char-before) ?\{)))))
|
||||
(if (save-excursion
|
||||
;; if we have a hanging brace on line before
|
||||
(goto-char (c-point 'eopl))
|
||||
(eq (char-before) ?\{))
|
||||
`((brace-list-intro ,(c-point 'iopl)))
|
||||
`((block-open) (statement ,(c-point 'iopl)))))
|
||||
(t
|
||||
(apply orig-fun args))))
|
||||
|
||||
;;; End of new syntax constructs
|
||||
|
||||
|
||||
|
||||
;;; Fix for strings on version 27.1
|
||||
|
||||
(when (version= emacs-version "27.1")
|
||||
;; See:
|
||||
;; https://github.com/josteink/csharp-mode/issues/175
|
||||
;; https://github.com/josteink/csharp-mode/issues/151
|
||||
;; for the full story.
|
||||
(defun c-pps-to-string-delim (end)
|
||||
(let* ((start (point))
|
||||
(no-st-s `(0 nil nil ?\" nil nil 0 nil ,start nil nil))
|
||||
(st-s `(0 nil nil t nil nil 0 nil ,start nil nil))
|
||||
no-st-pos st-pos
|
||||
)
|
||||
(parse-partial-sexp start end nil nil no-st-s 'syntax-table)
|
||||
(setq no-st-pos (point))
|
||||
(goto-char start)
|
||||
(while (progn
|
||||
(parse-partial-sexp (point) end nil nil st-s 'syntax-table)
|
||||
(unless (bobp)
|
||||
(c-clear-syn-tab (1- (point))))
|
||||
(setq st-pos (point))
|
||||
(and (< (point) end)
|
||||
(not (eq (char-before) ?\")))))
|
||||
(goto-char (min no-st-pos st-pos))
|
||||
nil))
|
||||
|
||||
(defun c-multiline-string-check-final-quote ()
|
||||
(let (pos-ll pos-lt)
|
||||
(save-excursion
|
||||
(goto-char (point-max))
|
||||
(skip-chars-backward "^\"")
|
||||
(while
|
||||
(and
|
||||
(not (bobp))
|
||||
(cond
|
||||
((progn
|
||||
(setq pos-ll (c-literal-limits)
|
||||
pos-lt (c-literal-type pos-ll))
|
||||
(memq pos-lt '(c c++)))
|
||||
;; In a comment.
|
||||
(goto-char (car pos-ll)))
|
||||
((save-excursion
|
||||
(backward-char) ; over "
|
||||
(c-is-escaped (point)))
|
||||
;; At an escaped string.
|
||||
(backward-char)
|
||||
t)
|
||||
(t
|
||||
;; At a significant "
|
||||
(c-clear-syn-tab (1- (point)))
|
||||
(setq pos-ll (c-literal-limits)
|
||||
pos-lt (c-literal-type pos-ll))
|
||||
nil)))
|
||||
(skip-chars-backward "^\""))
|
||||
(cond
|
||||
((bobp))
|
||||
((eq pos-lt 'string)
|
||||
(c-put-syn-tab (1- (point)) '(15)))
|
||||
(t nil))))))
|
||||
|
||||
;;; End of fix for strings on version 27.1
|
||||
|
||||
|
||||
|
||||
(defvar csharp-mode-syntax-table
|
||||
(funcall (c-lang-const c-make-mode-syntax-table csharp))
|
||||
"Syntax table used in csharp-mode buffers.")
|
||||
|
||||
(defvar csharp-mode-map
|
||||
(let ((map (c-make-inherited-keymap)))
|
||||
map)
|
||||
"Keymap used in csharp-mode buffers.")
|
||||
|
||||
(easy-menu-define csharp-mode-menu csharp-mode-map "C# Mode Commands"
|
||||
(cons "C#" (c-lang-const c-mode-menu csharp)))
|
||||
|
||||
;;;###autoload
|
||||
(add-to-list 'auto-mode-alist '("\\.cs\\'" . csharp-mode))
|
||||
|
||||
;; Custom variables
|
||||
;;;###autoload
|
||||
(defcustom csharp-mode-hook nil
|
||||
"*Hook called by `csharp-mode'."
|
||||
:type 'hook
|
||||
:group 'csharp)
|
||||
|
||||
;;;###autoload
|
||||
(define-derived-mode csharp-mode prog-mode "C#"
|
||||
"Major mode for editing Csharp code.
|
||||
|
||||
Key bindings:
|
||||
\\{csharp-mode-map}"
|
||||
:after-hook (c-update-modeline)
|
||||
(c-initialize-cc-mode t)
|
||||
(c-init-language-vars csharp-mode)
|
||||
(c-common-init 'csharp-mode)
|
||||
(easy-menu-add csharp-mode-menu)
|
||||
(setq-local c-doc-comment-style '((csharp-mode . codedoc)))
|
||||
(c-run-mode-hooks 'c-mode-common-hook 'csharp-mode-hook))
|
||||
|
||||
(provide 'csharp-mode)
|
||||
|
||||
;;; csharp-mode.el ends here
|
BIN
elpa/csharp-mode-20201104.743/csharp-mode.elc
Normal file
BIN
elpa/csharp-mode-20201104.743/csharp-mode.elc
Normal file
Binary file not shown.
71
elpa/csharp-mode-readme.txt
Normal file
71
elpa/csharp-mode-readme.txt
Normal file
@ -0,0 +1,71 @@
|
||||
This is a major mode for editing C# code. It performs automatic
|
||||
indentation of C# syntax; font locking; and integration with
|
||||
imenu.el.
|
||||
|
||||
csharp-mode requires CC Mode 5.30 or later. It works with
|
||||
cc-mode 5.31.3, which is current at this time.
|
||||
|
||||
Features:
|
||||
|
||||
- font-lock and indent of C# syntax including:
|
||||
all c# keywords and major syntax
|
||||
attributes that decorate methods, classes, fields, properties
|
||||
enum types
|
||||
#if/#endif #region/#endregion
|
||||
instance initializers
|
||||
anonymous functions and methods
|
||||
verbatim literal strings (those that begin with @)
|
||||
generics
|
||||
|
||||
- automagic code-doc generation when you type three slashes.
|
||||
|
||||
- compatible with electric-pair-mode for intelligent insertion
|
||||
of matched braces, quotes, etc.
|
||||
|
||||
- imenu integration - generates an index of namespaces, classes,
|
||||
interfaces, methods, and properties for easy navigation within
|
||||
the buffer.
|
||||
|
||||
|
||||
|
||||
Installation instructions
|
||||
--------------------------------
|
||||
|
||||
Put csharp-mode.el somewhere in your load path, optionally byte-compile
|
||||
it, and add the following to your .emacs file:
|
||||
|
||||
(autoload 'csharp-mode "csharp-mode" "Major mode for editing C# code." t)
|
||||
(setq auto-mode-alist
|
||||
(append '(("\\.cs$" . csharp-mode)) auto-mode-alist))
|
||||
|
||||
|
||||
Optionally, define and register a mode-hook function. To do so, use
|
||||
something like this in your .emacs file:
|
||||
|
||||
(defun my-csharp-mode-fn ()
|
||||
"function that runs when csharp-mode is initialized for a buffer."
|
||||
(turn-on-auto-revert-mode)
|
||||
(setq indent-tabs-mode nil)
|
||||
...insert more code here...
|
||||
...including any custom key bindings you might want ...
|
||||
)
|
||||
(add-hook 'csharp-mode-hook 'my-csharp-mode-fn t)
|
||||
|
||||
|
||||
General
|
||||
----------------------------
|
||||
|
||||
Mostly C# mode will "just work." Use `describe-mode' to see the
|
||||
default keybindings and the highlights of the mode.
|
||||
|
||||
|
||||
imenu integration
|
||||
-----------------------------
|
||||
|
||||
This should just work. For those who don't know what imenu is, it
|
||||
allows navigation to different points within the file from an
|
||||
"Index" menu, in the window's menubar. csharp-mode computes the
|
||||
menu containing the namespaces, classes, methods, and so on, in the
|
||||
buffer. This happens at the time the file is loaded; for large
|
||||
files it takes a bit of time to complete the scan. If you don't
|
||||
want this capability, set `csharp-want-imenu' to nil.
|
654
elpa/projectile-20200916.814/projectile-autoloads.el
Normal file
654
elpa/projectile-20200916.814/projectile-autoloads.el
Normal file
@ -0,0 +1,654 @@
|
||||
;;; projectile-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "projectile" "projectile.el" (0 0 0 0))
|
||||
;;; Generated autoloads from projectile.el
|
||||
|
||||
(autoload 'projectile-version "projectile" "\
|
||||
Get the Projectile version as string.
|
||||
|
||||
If called interactively or if SHOW-VERSION is non-nil, show the
|
||||
version in the echo area and the messages buffer.
|
||||
|
||||
The returned string includes both, the version from package.el
|
||||
and the library version, if both a present and different.
|
||||
|
||||
If the version number could not be determined, signal an error,
|
||||
if called interactively, or if SHOW-VERSION is non-nil, otherwise
|
||||
just return nil.
|
||||
|
||||
\(fn &optional SHOW-VERSION)" t nil)
|
||||
|
||||
(autoload 'projectile-invalidate-cache "projectile" "\
|
||||
Remove the current project's files from `projectile-projects-cache'.
|
||||
|
||||
With a prefix argument PROMPT prompts for the name of the project whose cache
|
||||
to invalidate.
|
||||
|
||||
\(fn PROMPT)" t nil)
|
||||
|
||||
(autoload 'projectile-purge-file-from-cache "projectile" "\
|
||||
Purge FILE from the cache of the current project.
|
||||
|
||||
\(fn FILE)" t nil)
|
||||
|
||||
(autoload 'projectile-purge-dir-from-cache "projectile" "\
|
||||
Purge DIR from the cache of the current project.
|
||||
|
||||
\(fn DIR)" t nil)
|
||||
|
||||
(autoload 'projectile-cache-current-file "projectile" "\
|
||||
Add the currently visited file to the cache.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-discover-projects-in-directory "projectile" "\
|
||||
Discover any projects in DIRECTORY and add them to the projectile cache.
|
||||
This function is not recursive and only adds projects with roots
|
||||
at the top level of DIRECTORY.
|
||||
|
||||
\(fn DIRECTORY)" t nil)
|
||||
|
||||
(autoload 'projectile-discover-projects-in-search-path "projectile" "\
|
||||
Discover projects in `projectile-project-search-path'.
|
||||
Invoked automatically when `projectile-mode' is enabled.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-switch-to-buffer "projectile" "\
|
||||
Switch to a project buffer.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-switch-to-buffer-other-window "projectile" "\
|
||||
Switch to a project buffer and show it in another window.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-switch-to-buffer-other-frame "projectile" "\
|
||||
Switch to a project buffer and show it in another frame.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-display-buffer "projectile" "\
|
||||
Display a project buffer in another window without selecting it.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-project-buffers-other-buffer "projectile" "\
|
||||
Switch to the most recently selected buffer project buffer.
|
||||
Only buffers not visible in windows are returned.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-multi-occur "projectile" "\
|
||||
Do a `multi-occur' in the project's buffers.
|
||||
With a prefix argument, show NLINES of context.
|
||||
|
||||
\(fn &optional NLINES)" t nil)
|
||||
|
||||
(autoload 'projectile-find-other-file "projectile" "\
|
||||
Switch between files with the same name but different extensions.
|
||||
With FLEX-MATCHING, match any file that contains the base name of current file.
|
||||
Other file extensions can be customized with the variable `projectile-other-file-alist'.
|
||||
|
||||
\(fn &optional FLEX-MATCHING)" t nil)
|
||||
|
||||
(autoload 'projectile-find-other-file-other-window "projectile" "\
|
||||
Switch between files with the same name but different extensions in other window.
|
||||
With FLEX-MATCHING, match any file that contains the base name of current file.
|
||||
Other file extensions can be customized with the variable `projectile-other-file-alist'.
|
||||
|
||||
\(fn &optional FLEX-MATCHING)" t nil)
|
||||
|
||||
(autoload 'projectile-find-other-file-other-frame "projectile" "\
|
||||
Switch between files with the same name but different extensions in other frame.
|
||||
With FLEX-MATCHING, match any file that contains the base name of current file.
|
||||
Other file extensions can be customized with the variable `projectile-other-file-alist'.
|
||||
|
||||
\(fn &optional FLEX-MATCHING)" t nil)
|
||||
|
||||
(autoload 'projectile-find-file-dwim "projectile" "\
|
||||
Jump to a project's files using completion based on context.
|
||||
|
||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
||||
|
||||
If point is on a filename, Projectile first tries to search for that
|
||||
file in project:
|
||||
|
||||
- If it finds just a file, it switches to that file instantly. This works even
|
||||
if the filename is incomplete, but there's only a single file in the current project
|
||||
that matches the filename at point. For example, if there's only a single file named
|
||||
\"projectile/projectile.el\" but the current filename is \"projectile/proj\" (incomplete),
|
||||
`projectile-find-file-dwim' still switches to \"projectile/projectile.el\" immediately
|
||||
because this is the only filename that matches.
|
||||
|
||||
- If it finds a list of files, the list is displayed for selecting. A list of
|
||||
files is displayed when a filename appears more than one in the project or the
|
||||
filename at point is a prefix of more than two files in a project. For example,
|
||||
if `projectile-find-file-dwim' is executed on a filepath like \"projectile/\", it lists
|
||||
the content of that directory. If it is executed on a partial filename like
|
||||
\"projectile/a\", a list of files with character 'a' in that directory is presented.
|
||||
|
||||
- If it finds nothing, display a list of all files in project for selecting.
|
||||
|
||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
||||
|
||||
(autoload 'projectile-find-file-dwim-other-window "projectile" "\
|
||||
Jump to a project's files using completion based on context in other window.
|
||||
|
||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
||||
|
||||
If point is on a filename, Projectile first tries to search for that
|
||||
file in project:
|
||||
|
||||
- If it finds just a file, it switches to that file instantly. This works even
|
||||
if the filename is incomplete, but there's only a single file in the current project
|
||||
that matches the filename at point. For example, if there's only a single file named
|
||||
\"projectile/projectile.el\" but the current filename is \"projectile/proj\" (incomplete),
|
||||
`projectile-find-file-dwim-other-window' still switches to \"projectile/projectile.el\"
|
||||
immediately because this is the only filename that matches.
|
||||
|
||||
- If it finds a list of files, the list is displayed for selecting. A list of
|
||||
files is displayed when a filename appears more than one in the project or the
|
||||
filename at point is a prefix of more than two files in a project. For example,
|
||||
if `projectile-find-file-dwim-other-window' is executed on a filepath like \"projectile/\", it lists
|
||||
the content of that directory. If it is executed on a partial filename
|
||||
like \"projectile/a\", a list of files with character 'a' in that directory
|
||||
is presented.
|
||||
|
||||
- If it finds nothing, display a list of all files in project for selecting.
|
||||
|
||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
||||
|
||||
(autoload 'projectile-find-file-dwim-other-frame "projectile" "\
|
||||
Jump to a project's files using completion based on context in other frame.
|
||||
|
||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
||||
|
||||
If point is on a filename, Projectile first tries to search for that
|
||||
file in project:
|
||||
|
||||
- If it finds just a file, it switches to that file instantly. This works even
|
||||
if the filename is incomplete, but there's only a single file in the current project
|
||||
that matches the filename at point. For example, if there's only a single file named
|
||||
\"projectile/projectile.el\" but the current filename is \"projectile/proj\" (incomplete),
|
||||
`projectile-find-file-dwim-other-frame' still switches to \"projectile/projectile.el\"
|
||||
immediately because this is the only filename that matches.
|
||||
|
||||
- If it finds a list of files, the list is displayed for selecting. A list of
|
||||
files is displayed when a filename appears more than one in the project or the
|
||||
filename at point is a prefix of more than two files in a project. For example,
|
||||
if `projectile-find-file-dwim-other-frame' is executed on a filepath like \"projectile/\", it lists
|
||||
the content of that directory. If it is executed on a partial filename
|
||||
like \"projectile/a\", a list of files with character 'a' in that directory
|
||||
is presented.
|
||||
|
||||
- If it finds nothing, display a list of all files in project for selecting.
|
||||
|
||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
||||
|
||||
(autoload 'projectile-find-file "projectile" "\
|
||||
Jump to a project's file using completion.
|
||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
||||
|
||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
||||
|
||||
(autoload 'projectile-find-file-other-window "projectile" "\
|
||||
Jump to a project's file using completion and show it in another window.
|
||||
|
||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
||||
|
||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
||||
|
||||
(autoload 'projectile-find-file-other-frame "projectile" "\
|
||||
Jump to a project's file using completion and show it in another frame.
|
||||
|
||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
||||
|
||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
||||
|
||||
(autoload 'projectile-toggle-project-read-only "projectile" "\
|
||||
Toggle project read only.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-find-dir "projectile" "\
|
||||
Jump to a project's directory using completion.
|
||||
|
||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
||||
|
||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
||||
|
||||
(autoload 'projectile-find-dir-other-window "projectile" "\
|
||||
Jump to a project's directory in other window using completion.
|
||||
|
||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
||||
|
||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
||||
|
||||
(autoload 'projectile-find-dir-other-frame "projectile" "\
|
||||
Jump to a project's directory in other frame using completion.
|
||||
|
||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
||||
|
||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
||||
|
||||
(autoload 'projectile-find-test-file "projectile" "\
|
||||
Jump to a project's test file using completion.
|
||||
|
||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
||||
|
||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
||||
|
||||
(autoload 'projectile-find-related-file-other-window "projectile" "\
|
||||
Open related file in other window.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-find-related-file-other-frame "projectile" "\
|
||||
Open related file in other frame.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-find-related-file "projectile" "\
|
||||
Open related file.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-related-files-fn-groups "projectile" "\
|
||||
Generate a related-files-fn which relates as KIND for files in each of GROUPS.
|
||||
|
||||
\(fn KIND GROUPS)" nil nil)
|
||||
|
||||
(autoload 'projectile-related-files-fn-extensions "projectile" "\
|
||||
Generate a related-files-fn which relates as KIND for files having EXTENSIONS.
|
||||
|
||||
\(fn KIND EXTENSIONS)" nil nil)
|
||||
|
||||
(autoload 'projectile-related-files-fn-test-with-prefix "projectile" "\
|
||||
Generate a related-files-fn which relates tests and impl for files with EXTENSION based on TEST-PREFIX.
|
||||
|
||||
\(fn EXTENSION TEST-PREFIX)" nil nil)
|
||||
|
||||
(autoload 'projectile-related-files-fn-test-with-suffix "projectile" "\
|
||||
Generate a related-files-fn which relates tests and impl for files with EXTENSION based on TEST-SUFFIX.
|
||||
|
||||
\(fn EXTENSION TEST-SUFFIX)" nil nil)
|
||||
|
||||
(autoload 'projectile-project-info "projectile" "\
|
||||
Display info for current project.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-find-implementation-or-test-other-window "projectile" "\
|
||||
Open matching implementation or test file in other window.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-find-implementation-or-test-other-frame "projectile" "\
|
||||
Open matching implementation or test file in other frame.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-toggle-between-implementation-and-test "projectile" "\
|
||||
Toggle between an implementation file and its test file.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-grep "projectile" "\
|
||||
Perform rgrep in the project.
|
||||
|
||||
With a prefix ARG asks for files (globbing-aware) which to grep in.
|
||||
With prefix ARG of `-' (such as `M--'), default the files (without prompt),
|
||||
to `projectile-grep-default-files'.
|
||||
|
||||
With REGEXP given, don't query the user for a regexp.
|
||||
|
||||
\(fn &optional REGEXP ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-ag "projectile" "\
|
||||
Run an ag search with SEARCH-TERM in the project.
|
||||
|
||||
With an optional prefix argument ARG SEARCH-TERM is interpreted as a
|
||||
regular expression.
|
||||
|
||||
\(fn SEARCH-TERM &optional ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-ripgrep "projectile" "\
|
||||
Run a Ripgrep search with `SEARCH-TERM' at current project root.
|
||||
|
||||
With an optional prefix argument ARG SEARCH-TERM is interpreted as a
|
||||
regular expression.
|
||||
|
||||
\(fn SEARCH-TERM &optional ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-regenerate-tags "projectile" "\
|
||||
Regenerate the project's [e|g]tags.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-find-tag "projectile" "\
|
||||
Find tag in project.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-run-command-in-root "projectile" "\
|
||||
Invoke `execute-extended-command' in the project's root.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-run-shell-command-in-root "projectile" "\
|
||||
Invoke `shell-command' in the project's root.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-run-async-shell-command-in-root "projectile" "\
|
||||
Invoke `async-shell-command' in the project's root.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-run-gdb "projectile" "\
|
||||
Invoke `gdb' in the project's root.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-run-shell "projectile" "\
|
||||
Invoke `shell' in the project's root.
|
||||
|
||||
Switch to the project specific shell buffer if it already exists.
|
||||
|
||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-run-eshell "projectile" "\
|
||||
Invoke `eshell' in the project's root.
|
||||
|
||||
Switch to the project specific eshell buffer if it already exists.
|
||||
|
||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-run-ielm "projectile" "\
|
||||
Invoke `ielm' in the project's root.
|
||||
|
||||
Switch to the project specific ielm buffer if it already exists.
|
||||
|
||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-run-term "projectile" "\
|
||||
Invoke `term' in the project's root.
|
||||
|
||||
Switch to the project specific term buffer if it already exists.
|
||||
|
||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-run-vterm "projectile" "\
|
||||
Invoke `vterm' in the project's root.
|
||||
|
||||
Switch to the project specific term buffer if it already exists.
|
||||
|
||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-replace "projectile" "\
|
||||
Replace literal string in project using non-regexp `tags-query-replace'.
|
||||
|
||||
With a prefix argument ARG prompts you for a directory on which
|
||||
to run the replacement.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-replace-regexp "projectile" "\
|
||||
Replace a regexp in the project using `tags-query-replace'.
|
||||
|
||||
With a prefix argument ARG prompts you for a directory on which
|
||||
to run the replacement.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-kill-buffers "projectile" "\
|
||||
Kill project buffers.
|
||||
|
||||
The buffer are killed according to the value of
|
||||
`projectile-kill-buffers-filter'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-save-project-buffers "projectile" "\
|
||||
Save all project buffers.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-dired "projectile" "\
|
||||
Open `dired' at the root of the project.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-dired-other-window "projectile" "\
|
||||
Open `dired' at the root of the project in another window.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-dired-other-frame "projectile" "\
|
||||
Open `dired' at the root of the project in another frame.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-vc "projectile" "\
|
||||
Open `vc-dir' at the root of the project.
|
||||
|
||||
For git projects `magit-status-internal' is used if available.
|
||||
For hg projects `monky-status' is used if available.
|
||||
|
||||
If PROJECT-ROOT is given, it is opened instead of the project
|
||||
root directory of the current buffer file. If interactively
|
||||
called with a prefix argument, the user is prompted for a project
|
||||
directory to open.
|
||||
|
||||
\(fn &optional PROJECT-ROOT)" t nil)
|
||||
|
||||
(autoload 'projectile-recentf "projectile" "\
|
||||
Show a list of recently visited files in a project.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-configure-project "projectile" "\
|
||||
Run project configure command.
|
||||
|
||||
Normally you'll be prompted for a compilation command, unless
|
||||
variable `compilation-read-command'. You can force the prompt
|
||||
with a prefix ARG.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-compile-project "projectile" "\
|
||||
Run project compilation command.
|
||||
|
||||
Normally you'll be prompted for a compilation command, unless
|
||||
variable `compilation-read-command'. You can force the prompt
|
||||
with a prefix ARG.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-test-project "projectile" "\
|
||||
Run project test command.
|
||||
|
||||
Normally you'll be prompted for a compilation command, unless
|
||||
variable `compilation-read-command'. You can force the prompt
|
||||
with a prefix ARG.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-install-project "projectile" "\
|
||||
Run project install command.
|
||||
|
||||
Normally you'll be prompted for a compilation command, unless
|
||||
variable `compilation-read-command'. You can force the prompt
|
||||
with a prefix ARG.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-package-project "projectile" "\
|
||||
Run project package command.
|
||||
|
||||
Normally you'll be prompted for a compilation command, unless
|
||||
variable `compilation-read-command'. You can force the prompt
|
||||
with a prefix ARG.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-run-project "projectile" "\
|
||||
Run project run command.
|
||||
|
||||
Normally you'll be prompted for a compilation command, unless
|
||||
variable `compilation-read-command'. You can force the prompt
|
||||
with a prefix ARG.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-repeat-last-command "projectile" "\
|
||||
Run last projectile external command.
|
||||
|
||||
External commands are: `projectile-configure-project',
|
||||
`projectile-compile-project', `projectile-test-project',
|
||||
`projectile-install-project', `projectile-package-project',
|
||||
and `projectile-run-project'.
|
||||
|
||||
If the prefix argument SHOW_PROMPT is non nil, the command can be edited.
|
||||
|
||||
\(fn SHOW-PROMPT)" t nil)
|
||||
|
||||
(autoload 'projectile-switch-project "projectile" "\
|
||||
Switch to a project we have visited before.
|
||||
Invokes the command referenced by `projectile-switch-project-action' on switch.
|
||||
With a prefix ARG invokes `projectile-commander' instead of
|
||||
`projectile-switch-project-action.'
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-switch-open-project "projectile" "\
|
||||
Switch to a project we have currently opened.
|
||||
Invokes the command referenced by `projectile-switch-project-action' on switch.
|
||||
With a prefix ARG invokes `projectile-commander' instead of
|
||||
`projectile-switch-project-action.'
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'projectile-find-file-in-directory "projectile" "\
|
||||
Jump to a file in a (maybe regular) DIRECTORY.
|
||||
|
||||
This command will first prompt for the directory the file is in.
|
||||
|
||||
\(fn &optional DIRECTORY)" t nil)
|
||||
|
||||
(autoload 'projectile-find-file-in-known-projects "projectile" "\
|
||||
Jump to a file in any of the known projects.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-cleanup-known-projects "projectile" "\
|
||||
Remove known projects that don't exist anymore.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-clear-known-projects "projectile" "\
|
||||
Clear both `projectile-known-projects' and `projectile-known-projects-file'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-remove-known-project "projectile" "\
|
||||
Remove PROJECT from the list of known projects.
|
||||
|
||||
\(fn &optional PROJECT)" t nil)
|
||||
|
||||
(autoload 'projectile-remove-current-project-from-known-projects "projectile" "\
|
||||
Remove the current project from the list of known projects.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-add-known-project "projectile" "\
|
||||
Add PROJECT-ROOT to the list of known projects.
|
||||
|
||||
\(fn PROJECT-ROOT)" t nil)
|
||||
|
||||
(autoload 'projectile-ibuffer "projectile" "\
|
||||
Open an IBuffer window showing all buffers in the current project.
|
||||
|
||||
Let user choose another project when PROMPT-FOR-PROJECT is supplied.
|
||||
|
||||
\(fn PROMPT-FOR-PROJECT)" t nil)
|
||||
|
||||
(autoload 'projectile-commander "projectile" "\
|
||||
Execute a Projectile command with a single letter.
|
||||
The user is prompted for a single character indicating the action to invoke.
|
||||
The `?' character describes then
|
||||
available actions.
|
||||
|
||||
See `def-projectile-commander-method' for defining new methods.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'projectile-browse-dirty-projects "projectile" "\
|
||||
Browse dirty version controlled projects.
|
||||
|
||||
With a prefix argument, or if CACHED is non-nil, try to use the cached
|
||||
dirty project list.
|
||||
|
||||
\(fn &optional CACHED)" t nil)
|
||||
|
||||
(autoload 'projectile-edit-dir-locals "projectile" "\
|
||||
Edit or create a .dir-locals.el file of the project.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(defvar projectile-mode nil "\
|
||||
Non-nil if Projectile mode is enabled.
|
||||
See the `projectile-mode' command
|
||||
for a description of this minor mode.
|
||||
Setting this variable directly does not take effect;
|
||||
either customize it (see the info node `Easy Customization')
|
||||
or call the function `projectile-mode'.")
|
||||
|
||||
(custom-autoload 'projectile-mode "projectile" nil)
|
||||
|
||||
(autoload 'projectile-mode "projectile" "\
|
||||
Minor mode to assist project management and navigation.
|
||||
|
||||
When called interactively, toggle `projectile-mode'. With prefix
|
||||
ARG, enable `projectile-mode' if ARG is positive, otherwise disable
|
||||
it.
|
||||
|
||||
When called from Lisp, enable `projectile-mode' if ARG is omitted,
|
||||
nil or positive. If ARG is `toggle', toggle `projectile-mode'.
|
||||
Otherwise behave as if called interactively.
|
||||
|
||||
\\{projectile-mode-map}
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(define-obsolete-function-alias 'projectile-global-mode 'projectile-mode "1.0")
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "projectile" '("projectile-" "??" "delete-file-projectile-remove-from-cache" "def-projectile-commander-method" "compilation-find-file-projectile-find-compilation-buffer")))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; projectile-autoloads.el ends here
|
2
elpa/projectile-20200916.814/projectile-pkg.el
Normal file
2
elpa/projectile-20200916.814/projectile-pkg.el
Normal file
@ -0,0 +1,2 @@
|
||||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "projectile" "20200916.814" "Manage and navigate projects in Emacs easily" '((emacs "25.1") (pkg-info "0.4")) :commit "7b6ac286120421216faae43f9e234d801a30ee3d" :keywords '("project" "convenience") :authors '(("Bozhidar Batsov" . "bozhidar@batsov.com")) :maintainer '("Bozhidar Batsov" . "bozhidar@batsov.com") :url "https://github.com/bbatsov/projectile")
|
5026
elpa/projectile-20200916.814/projectile.el
Normal file
5026
elpa/projectile-20200916.814/projectile.el
Normal file
File diff suppressed because it is too large
Load Diff
BIN
elpa/projectile-20200916.814/projectile.elc
Normal file
BIN
elpa/projectile-20200916.814/projectile.elc
Normal file
Binary file not shown.
2
init.el
2
init.el
@ -51,7 +51,7 @@
|
||||
'(magit-diff-use-overlays nil)
|
||||
'(package-selected-packages
|
||||
(quote
|
||||
(yaml-mode smooth-scrolling web-mode multi-web-mode spacemacs-theme flycheck ac-emmet markdown-preview-mode multiple-cursors git-gutter powerline ample-zen-theme monokai-theme dracula-theme auto-complete neotree all-the-icons spinner markdown-mode lv ht f evil dash-functional)))
|
||||
(csharp-mode yaml-mode smooth-scrolling web-mode multi-web-mode spacemacs-theme flycheck ac-emmet markdown-preview-mode multiple-cursors git-gutter powerline ample-zen-theme monokai-theme dracula-theme auto-complete neotree all-the-icons spinner markdown-mode lv ht f evil dash-functional)))
|
||||
'(pdf-view-midnight-colors (quote ("#b2b2b2" . "#292b2e")))
|
||||
'(pos-tip-background-color "#FFFACE")
|
||||
'(pos-tip-foreground-color "#272822")
|
||||
|
Loading…
Reference in New Issue
Block a user