summaryrefslogtreecommitdiff
path: root/emacs.scm
diff options
context:
space:
mode:
Diffstat (limited to 'emacs.scm')
-rw-r--r--emacs.scm376
1 files changed, 356 insertions, 20 deletions
diff --git a/emacs.scm b/emacs.scm
index da09494..7faad30 100644
--- a/emacs.scm
+++ b/emacs.scm
@@ -4,6 +4,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system emacs)
+ #:use-module (gnu packages emacs)
#:use-module (gnu packages emacs-xyz))
(define-public emacs-srv
@@ -326,6 +327,22 @@ Usage:
")
(license #f)))
+(package
+ (name "emacs-plantuml-mode")
+ (version "20191102.2056")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/skuro/plantuml-mode.git")
+ (commit "5889166b6cfe94a37532ea27fc8de13be2ebfd02")))
+ (sha256
+ (base32 "0yp41d2dmf3sx7qnl5x0zdjcr9y71b2wwc9m0q31v22xqn938ipc"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (quasiquote (("emacs-dash" (unquote emacs-dash)))))
+ (home-page "unspecified")
+ (synopsis "Major mode for PlantUML")
+ (description "No description available.") (license #f))
+
(define-public emacs-plantuml-mode
(package
(name "emacs-plantuml-mode")
@@ -417,28 +434,347 @@ Features include :
(license #f)))
(define-public emacs-kubel
- (let ((commit "9ed130c6e5d35b5fa41156f9ec62aa50365c23e0"))
- (package
- (name "emacs-kubel")
- (version "20191014.2010")
- (source
- (origin
+ (package
+ (name "emacs-kubel")
+ (version "20200316.207")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abrochard/kubel.git")
+ (commit
+ "db3a999c028ffeeeb49936e8b921c364bf8f437e")))
+ (sha256
+ (base32
+ "1ai33jma22agrxww6dcgsh6dbv5h36gixgs0b6n1q4d5v7k6d9q3"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-transient" ,emacs-transient)
+ ("emacs-dash" ,emacs-dash)
+ ("emacs-s" ,emacs-s)))
+ (arguments
+ '(#:include
+ '("^[^/]+.el$"
+ "^[^/]+.el.in$"
+ "^dir$"
+ "^[^/]+.info$"
+ "^[^/]+.texi$"
+ "^[^/]+.texinfo$"
+ "^doc/dir$"
+ "^doc/[^/]+.info$"
+ "^doc/[^/]+.texi$"
+ "^doc/[^/]+.texinfo$")
+ #:exclude
+ '("^.dir-locals.el$"
+ "^test.el$"
+ "^tests.el$"
+ "^[^/]+-test.el$"
+ "^[^/]+-tests.el$"
+ "^kubel-evil.el$")))
+ (home-page "https://github.com/abrochard/kubel")
+ (synopsis
+ "extension for controlling Kubernetes with limited permissions")
+ (description
+ "Emacs extension for controlling Kubernetes with limited permissions.e")
+ (license #f)))
+
+(define-public demo-it
+ (package
+ (name "emacs-demo-it")
+ (version "0.0.0-1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/howardabrams/demo-it.git")
+ (commit "9cfa5c3f92a0dca7eebb1f1a2011643c9b009d26")))
+ (sha256
+ (base32
+ "1fcmrhm6h0j7jjw6kijrcacv628fy80ssxn6h5bilwmw0r4c7wm6"))))
+ (build-system emacs-build-system)
+ (home-page "unspecified")
+ (synopsis "Create demonstrations")
+ (description
+ " When making demonstrations of new products, technologies and other
+ geekery, I love the versatility of using Emacs to demonstrate the
+ trifecta of sprint reviews, including:
+
+ - Presentations explaining the technologies
+ - Source code ... correctly highlighted
+ - Executing the code in Eshell ... or similar demonstration
+ - Test a new feature
+
+ However, I don't want to fat-finger, mentally burp, or even delay
+ the gratification while I type, so I predefine each \"step\" as an
+ Elisp function or keyboard macro, and then have =demo-it= execute
+ each function when I hit either the SPACE key or the F12 key
+ (advanced minor mode).
+
+ Using the library is a four step process:
+
+ 1. Load the library in your own Elisp source code file
+ 2. Create a collection of functions that \"do things\".
+ 3. Create the ordered list of functions/steps with `demo-it-create'
+ 4. Start the demonstration with `demo-it-start'
+
+ For instance:
+
+ (require 'demo-it) ;; Load this library of functions
+
+ (defun dit-load-source-code ()
+ \"Load some source code in a side window.\"
+ (demo-it-presentation-advance)
+ (demo-it-load-fancy-file \"example.py\" :line 5 12 :side))
+
+ (defun dit-run-code ()
+ \"Execute our source code in an Eshell buffer.\"
+ ;; Close other windows and advance the presentation:
+ (demo-it-presentation-return)
+ (demo-it-start-shell)
+ (demo-it-run-in-shell \"python example.py Snoopy\"))
+
+ (demo-it-create :single-window :insert-slow :full-screen
+ (demo-it-title-screen \"example-title.org\")
+ (demo-it-presentation \"example.org\")
+ dit-load-source-code
+ dit-run-code
+ (demo-it-run-in-shell \"exit\" nil :instant))
+
+ (demo-it-start)
+
+ Each \"step\" is a series of Elisp functions that \"do things\".
+ While this package has a collection of helping functions, the steps
+ can use any Elisp command to show off a feature.
+
+ I recommend installing these other Emacs packages:
+
+ - https://github.com/takaxp/org-tree-slide
+ - https://github.com/sabof/org-bullets
+ - https://github.com/magnars/expand-region.el
+ - https://github.com/Bruce-Connor/fancy-narrow
+
+ See http://github.com/howardabrams/demo-it for more details and
+ better examples. You will want to walk through the source code
+ for all the utility functions.
+")
+ (license #f)))
+
+(define-public emacs-org-mime
+ (package
+ (name "emacs-org-mime")
+ (version "0.1.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri ;; (git-reference
+ ;; (url "https://github.com/org-mime/org-mime.git")
+ ;; (commit "0.1.6"))
+ (git-reference
+ (url "https://github.com/czan/org-mime.git")
+ (commit "562cb5a3f0e4af69d9495d0cd829bdd6a7fd77fa")))
+ (sha256
+ (base32
+ "1dwk23265sigv9znaidi7qffz0mnmmc19vs8yv8zy6h7b6818622"))))
+ (build-system emacs-build-system)
+ (home-page "http://github.com/org-mime/org-mime")
+ (synopsis
+ "org html export for text/html MIME emails")
+ (description #f)
+ (license #f)))
+
+(define-public emacs-csharp-mode
+ (package
+ (name "emacs-csharp-mode")
+ (version "20191126.1928")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://melpa.org/packages/csharp-mode-"
+ version
+ ".el"))
+ (sha256
+ (base32
+ "1fiq9gd9288f1c3i0qw9rzzj8fh0csip817y2phla5gyjgmxk063"))))
+ (build-system emacs-build-system)
+ (home-page
+ "https://github.com/josteink/csharp-mode")
+ (synopsis "C# mode derived mode")
+ (description
+ " 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\n (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.
+")
+ (license #f)))
+
+(define-public emacs-omnisharp
+ (package
+ (name "emacs-omnisharp")
+ (version "20191015.635")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://melpa.org/packages/omnisharp-"
+ version
+ ".tar"))
+ (sha256
+ (base32
+ "036cz5hjxg8bl0a54hidmjily5sax6y51iyyrabkqx015jrldiif"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-flycheck" ,emacs-flycheck)
+ ("emacs-dash" ,emacs-dash)
+ ("emacs-auto-complete" ,emacs-auto-complete)
+ ("emacs-popup" ,emacs-popup)
+ ("emacs-csharp-mode" ,emacs-csharp-mode)
+ ("emacs-s" ,emacs-s)
+ ("emacs-f" ,emacs-f)))
+ (home-page
+ "https://github.com/Omnisharp/omnisharp-emacs")
+ (synopsis
+ "Omnicompletion (intellisense) and more for C#")
+ (description
+ "omnisharp-emacs is a port of the awesome OmniSharp server to the
+Emacs text editor. It provides IDE-like features for editing files
+in C# solutions in Emacs, provided by an OmniSharp server instance
+that works in the background.
+
+See the project home page for more information.
+")
+ (license #f)))
+
+(define-public emacs-scala-mode
+ (package
+ (name "emacs-scala-mode")
+ (version "20190929.1522")
+ (source
+ (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/abrochard/kubel.git")
- (commit commit)))
+ (url "https://github.com/hvesalai/emacs-scala-mode.git")
+ (commit
+ "46bb948345f165ebffe6ff3116e36a3b8a3f219d")))
(sha256
(base32
- "0xqjsng9fdf96h0sa01d0sza5qpkl14r2ccf0mmcg3l7c2xw8ibl"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-evil" ,emacs-evil)
- ("emacs-transient" ,emacs-transient)))
- (home-page "https://github.com/abrochard/kubel")
- (synopsis
- "extension for controlling Kubernetes with limited permissions")
- (description
- "Emacs extension for controlling Kubernetes with limited permissions.
-Mostly focuses on pod management for now.
+ "1072lsin7dxadc0xyhy42wd0cw549axbbd4dy95wfmfcc1xbzjwv"))))
+ (build-system emacs-build-system)
+ (home-page
+ "https://github.com/hvesalai/emacs-scala-mode")
+ (synopsis "Major mode for editing Scala")
+ (description "")
+ (license #f)))
+
+(define-public emacs-sbt-mode
+ (package
+ (name "emacs-sbt-mode")
+ (version "20200106.753")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hvesalai/emacs-sbt-mode.git")
+ (commit
+ "633a315ad453cd963588c9b8fba02d9cf75296b4")))
+ (sha256
+ (base32
+ "0ha2lyw42ir16b2d09y27q0rsdx6azcfv258frp1ja63mx0jiqic"))))
+ (build-system emacs-build-system)
+ (home-page
+ "https://github.com/hvesalai/emacs-sbt-mode")
+ (synopsis "Interactive support for sbt projects")
+ (description "")
+ (license #f)))
+
+(define-public emacs-lsp-scala
+ (package
+ (name "emacs-lsp-scala")
+ (version "20190604.1237")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rossabaker/lsp-scala.git")
+ (commit
+ "06f189aa5cafe93cecbdaa234bccd900def7bc68")))
+ (sha256
+ (base32
+ "05l563j1wz01rqwd4r639i88ln3bkn0m4swvj3hs11d70brlw981"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-lsp-mode" ,emacs-lsp-mode)
+ ("emacs-sbt-mode" ,emacs-sbt-mode)))
+ (home-page
+ "https://github.com/rossabaker/lsp-scala")
+ (synopsis "Scala support for lsp-mode")
+ (description
+ "This package defines an lsp-mode client for Scala.
")
- (license #f))))
+ (license #f)))