blob: cb94b1fbf9b9d7156d4b7de7692b299f189fc2ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
title: Jump to Jasmine Specs with Rinari
date: 2013-12-17 13:00
tags: emacs, javascript, wsu
summary: I hacked rinari mode to jump between JS sources and jasmine tests
---
I use the [rinari](https://github.com/eschulte/rinari) Emacs mode to
assist me when working on rails projects. One of rinari’s most useful
features is the ability to quickly jump from one file to another
related file. I use this feature almost exclusively for jumping
between a ruby class file and its associated rspec file, but lately
I’ve been spending most of my time writing javascript. At VHL, we use
[jasmine](http://pivotal.github.io/jasmine/) for our unit testing
framework and the
[jasmine ruby gem](https://github.com/pivotal/jasmine-gem) to
integrate it with our rails projects. Rinari doesn’t have any
built-in jump settings for jasmine test files, so I wrote this quick
hack to make it work:
```elisp
;; Make rinari jump to/from javascript source files and specs.
(setcdr (assoc 'javascript rinari-jump-schema)
'("j"
(("app/assets/javascripts/\\1.js" . "spec/javascripts/\\1_spec.js")
("spec/javascripts/\\1_spec.js" . "app/assets/javascripts/\\1.js")
(t . "spec/javascripts/.*")
(t . "app/javascripts/.*"))
t))
(rinari-apply-jump-schema rinari-jump-schema)
```
Now I can press `C-c ; f j` to jump between a javascript file in
`app/assets/javascripts/` and its jasmine test file in
`spec/javascripts/`. Perhaps I shouldn’t be overwriting the
predefined (but not very useful) javascript jump settings, but I
really wanted to use the `j` key.
|