* Support R syntax highlighting in R("""-blocks (#6)
@ 2016-04-13 9:03 Endre Bakken Stovner
2016-04-13 13:26 ` Endre Bakken Stovner
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Endre Bakken Stovner @ 2016-04-13 9:03 UTC (permalink / raw)
To: kyleam/snakemake-mode
[-- Attachment #1: Type: text/plain, Size: 1855 bytes --]
Uses purcells robust mmm-library: https://github.com/purcell/mmm-mode
Can be further updated to recognize other strings as embedded R. The template should be easy to follow.
I suggest something like `"""[Rr]` for the case where you need to run R-scripts using shell or write them in a variable to print/debug. But I leave it at your discretion.
Use-cases for suggestion above:
```python
command = """#r
library(csaw)
param = readParam(minq=50, restrict=c({chromosomes_as_string}))"""
print(command)
R(command)
```
or
```python
run_voom_script = """#R
library(edgeR)
normfactors = tail(read.table("{input.normalization_file}", row.names=1, header=F), 18)
colnames(normfactors) = c("norm.factors") # need this name for voom to accept the normfactors
df = read.table("{input.infile}")
x = DGEList(counts=df, norm.factors=as.matrix(normfactors))
y = voom(x)
write.table(y$E, "{output.outfile}", sep=" ")
""".format(**locals())
print(run_voom_script)
# Must craete new instance of R-interpreter to avoid clashing library requirements
with open(output.script, "w+") as script_handle:
script_handle.write(run_voom_script)
shell("Rscript {output.script}")
```
You can view, comment on, or merge this pull request online at:
https://github.com/kyleam/snakemake-mode/pull/6
-- Commit Summary --
* Support R syntax highlighting in R("""-blocks
-- File Changes --
M snakemake-mode.el (15)
-- Patch Links --
https://github.com/kyleam/snakemake-mode/pull/6.patch
https://github.com/kyleam/snakemake-mode/pull/6.diff
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kyleam/snakemake-mode/pull/6
[-- Attachment #2: Type: text/html, Size: 4129 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Support R syntax highlighting in R("""-blocks (#6)
2016-04-13 9:03 Support R syntax highlighting in R("""-blocks (#6) Endre Bakken Stovner
@ 2016-04-13 13:26 ` Endre Bakken Stovner
2016-04-14 5:51 ` Endre Bakken Stovner
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Endre Bakken Stovner @ 2016-04-13 13:26 UTC (permalink / raw)
To: kyleam/snakemake-mode
[-- Attachment #1: Type: text/plain, Size: 328 bytes --]
Sorry for this. Long time since I used git collaboratively. Guess the correct way to do this would be to make a new branch for each PR.
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kyleam/snakemake-mode/pull/6#issuecomment-209440519
[-- Attachment #2: Type: text/html, Size: 969 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Support R syntax highlighting in R("""-blocks (#6)
2016-04-13 9:03 Support R syntax highlighting in R("""-blocks (#6) Endre Bakken Stovner
2016-04-13 13:26 ` Endre Bakken Stovner
@ 2016-04-14 5:51 ` Endre Bakken Stovner
2016-04-14 6:09 ` Endre Bakken Stovner
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Endre Bakken Stovner @ 2016-04-14 5:51 UTC (permalink / raw)
To: kyleam/snakemake-mode; +Cc: Kyle Meyer
[-- Attachment #1: Type: text/plain, Size: 246 bytes --]
Will do, but when is uncertain - doing this when I have analyses waiting.
---
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/kyleam/snakemake-mode/pull/6#issuecomment-209773633
[-- Attachment #2: Type: text/html, Size: 887 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Support R syntax highlighting in R("""-blocks (#6)
2016-04-13 9:03 Support R syntax highlighting in R("""-blocks (#6) Endre Bakken Stovner
2016-04-13 13:26 ` Endre Bakken Stovner
2016-04-14 5:51 ` Endre Bakken Stovner
@ 2016-04-14 6:09 ` Endre Bakken Stovner
2016-04-17 19:04 ` Endre Bakken Stovner
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Endre Bakken Stovner @ 2016-04-14 6:09 UTC (permalink / raw)
To: kyleam/snakemake-mode; +Cc: Kyle Meyer
[-- Attachment #1: Type: text/plain, Size: 176 bytes --]
Closed #6.
---
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/kyleam/snakemake-mode/pull/6#event-626833317
[-- Attachment #2: Type: text/html, Size: 1077 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Support R syntax highlighting in R("""-blocks (#6)
2016-04-13 9:03 Support R syntax highlighting in R("""-blocks (#6) Endre Bakken Stovner
` (2 preceding siblings ...)
2016-04-14 6:09 ` Endre Bakken Stovner
@ 2016-04-17 19:04 ` Endre Bakken Stovner
2016-04-18 4:22 ` Endre Bakken Stovner
2020-04-17 0:01 ` Kyle Meyer
5 siblings, 0 replies; 7+ messages in thread
From: Endre Bakken Stovner @ 2016-04-17 19:04 UTC (permalink / raw)
To: kyleam/snakemake-mode; +Cc: Kyle Meyer
[-- Attachment #1: Type: text/plain, Size: 2029 bytes --]
I will open this as a separate PR if you accept the changes:
```elisp
;;;;;;;;;;;;; Will be added to snakemake-mode.el
\f
;;; Embedded language syntax-highlighting
(defun snakemake-mode-setup-mmm ()
"Call this function in your startup-file to automatically highlight embedded R-code.
You must have the R-strings either within a R(''' ''') function call or a code block delimited with '''#r and '''."
(if (require 'mmm-mode nil 'noerror)
(progn (require 'mmm-mode)
(setq mmm-global-mode 'maybe)
(mmm-add-classes
'((snakemake-R-call-double
:submode R-mode
:front ".*R\(\"\"\""
:back ".*\"\"\"\)")))
(mmm-add-classes
'((snakemake-R-call-regular
:submode R-mode
:front ".*R\('''"
:back ".*'''\)")))
(mmm-add-classes
'((snakemake-R-string-double
:submode R-mode
:front ".*\"\"\" * # *[rR]"
:back ".*\"\"\"")))
(mmm-add-classes
'((snakemake-R-string-regular
:submode R-mode
:front ".*''' * # *[rR]"
:back ".*'''")))
(mmm-add-mode-ext-class 'snakemake-mode nil 'snakemake-R-call-double)
(mmm-add-mode-ext-class 'snakemake-mode nil 'snakemake-R-call-regular)
(mmm-add-mode-ext-class 'snakemake-mode nil 'snakemake-R-string-double)
(mmm-add-mode-ext-class 'snakemake-mode nil 'snakemake-R-string-regular))
(error "You need to install mmm-mode")))
(snakemake-mode-setup-mmm)
```
I guess this should be documented, but it would be strange to document this when most of the package is not documented (in any README/FAQ file). Most users probably do not read the code.
---
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/kyleam/snakemake-mode/pull/6#issuecomment-211084302
[-- Attachment #2: Type: text/html, Size: 4085 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Support R syntax highlighting in R("""-blocks (#6)
2016-04-13 9:03 Support R syntax highlighting in R("""-blocks (#6) Endre Bakken Stovner
` (3 preceding siblings ...)
2016-04-17 19:04 ` Endre Bakken Stovner
@ 2016-04-18 4:22 ` Endre Bakken Stovner
2020-04-17 0:01 ` Kyle Meyer
5 siblings, 0 replies; 7+ messages in thread
From: Endre Bakken Stovner @ 2016-04-18 4:22 UTC (permalink / raw)
To: kyleam/snakemake-mode; +Cc: Kyle Meyer
[-- Attachment #1: Type: text/plain, Size: 477 bytes --]
You are right about the regex. Will fix the other stuff too.
Agree about the global variable. I guess I could add another unless to the setup-function that warns people that they need to set this variable to `'maybe` in their startup file for automatic parsing of subregions if it is nil. Okay with you?
---
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/kyleam/snakemake-mode/pull/6#issuecomment-211193962
[-- Attachment #2: Type: text/html, Size: 1136 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Support R syntax highlighting in R("""-blocks (#6)
2016-04-13 9:03 Support R syntax highlighting in R("""-blocks (#6) Endre Bakken Stovner
` (4 preceding siblings ...)
2016-04-18 4:22 ` Endre Bakken Stovner
@ 2020-04-17 0:01 ` Kyle Meyer
5 siblings, 0 replies; 7+ messages in thread
From: Kyle Meyer @ 2020-04-17 0:01 UTC (permalink / raw)
To: snakemake-mode
Some replies are missing, as described at
https://inbox.kyleam.com/snakemake-mode/874ktmyh4u.fsf@kyleam.com/
Please visit the link in the parent message to see the full discussion.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-04-17 0:01 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-13 9:03 Support R syntax highlighting in R("""-blocks (#6) Endre Bakken Stovner
2016-04-13 13:26 ` Endre Bakken Stovner
2016-04-14 5:51 ` Endre Bakken Stovner
2016-04-14 6:09 ` Endre Bakken Stovner
2016-04-17 19:04 ` Endre Bakken Stovner
2016-04-18 4:22 ` Endre Bakken Stovner
2020-04-17 0:01 ` Kyle Meyer
Code repositories for project(s) associated with this public inbox
https://git.kyleam.com/snakemake-mode/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).