Skip to content

Commit

Permalink
Move Racket to its own layer
Browse files Browse the repository at this point in the history
  • Loading branch information
trishume authored and syl20bnr committed Mar 28, 2015
1 parent 94176bc commit 4f9ee49
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 26 deletions.
6 changes: 4 additions & 2 deletions contrib/lang/extra-langs/README.md
Expand Up @@ -3,11 +3,13 @@
Adds many more language modes for less common languages, some more niche than others.

These include:
- Racket
- Idris
- OpenScad
- Nix Expressions
- Nim
- QML
- YAML
- Rust
- The Wolfram Language / Mathematica
- The Wolfram Language / Mathematica

**Note:** Racket has been moved to it's own layer: `racket`
24 changes: 0 additions & 24 deletions contrib/lang/extra-langs/packages.el
Expand Up @@ -6,7 +6,6 @@
nim-mode
nix-mode
qml-mode
racket-mode
rust-mode
scad-mode
wolfram-mode
Expand Down Expand Up @@ -49,26 +48,3 @@
(use-package wolfram-mode
:defer t
:interpreter "\\(Wolfram\\|Mathematica\\)Script\\( -script\\)?"))

(defun extra-langs/init-racket-mode ()
(use-package racket-mode
:defer t
:config
(progn
(use-package smartparens :config
(progn (add-to-list 'sp--lisp-modes 'racket-mode)
(when (fboundp 'sp-local-pair) (sp-local-pair 'racket-mode "`" nil :actions nil))))
(sp-local-pair 'racket-mode "'" nil :actions nil)
(evil-leader/set-key-for-mode 'racket-mode
"ml" 'evil-lisp-state
"mt" 'racket-test
"mg" 'racket-visit-definition
"mhd" 'racket-doc)
;; Bug exists in Racket company backend that opens docs in new window when
;; company-quickhelp calls it. Note hook is appendended for proper ordering.
(when (configuration-layer/package-declaredp 'company-quickhelp)
(add-hook 'company-mode-hook
'(lambda () (when (equal major-mode 'racket-mode) (company-quickhelp-mode -1))) t))
(add-hook 'racket-mode-hook
'(lambda ()
(define-key racket-mode-map (kbd "H-r") 'racket-run))))))
16 changes: 16 additions & 0 deletions contrib/lang/racket/README.md
@@ -0,0 +1,16 @@
# Racket

![logo_racket](img/racket.png)

Adds support for the [Racket](http://racket-lang.org/) programming language.

## Key Bindings

Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC m r</kbd> | Run current file and open REPL
<kbd>SPC m l</kbd> | Enter [Evil Lisp State](https://github.com/syl20bnr/evil-lisp-state)
<kbd>SPC m t</kbd> | Run tests
<kbd>SPC m g</kbd> | Visit definition
<kbd>SPC m h d</kbd> | Visit Documentation
<kbd>H-r</kbd> | Run current file and open REPL (`H` is hyper, *may* be bound to command on OSX)
Binary file added contrib/lang/racket/img/racket.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 26 additions & 0 deletions contrib/lang/racket/packages.el
@@ -0,0 +1,26 @@
(defvar racket-packages
'(racket-mode))

(defun racket/init-racket-mode ()
(use-package racket-mode
:defer t
:config
(progn
(use-package smartparens :config
(progn (add-to-list 'sp--lisp-modes 'racket-mode)
(when (fboundp 'sp-local-pair) (sp-local-pair 'racket-mode "`" nil :actions nil))))
(sp-local-pair 'racket-mode "'" nil :actions nil)
(evil-leader/set-key-for-mode 'racket-mode
"ml" 'evil-lisp-state
"mt" 'racket-test
"mr" 'racket-run
"mg" 'racket-visit-definition
"mhd" 'racket-doc)
;; Bug exists in Racket company backend that opens docs in new window when
;; company-quickhelp calls it. Note hook is appendended for proper ordering.
(when (configuration-layer/package-declaredp 'company-quickhelp)
(add-hook 'company-mode-hook
'(lambda () (when (equal major-mode 'racket-mode) (company-quickhelp-mode -1))) t))
(add-hook 'racket-mode-hook
'(lambda ()
(define-key racket-mode-map (kbd "H-r") 'racket-run))))))

0 comments on commit 4f9ee49

Please sign in to comment.