Age | Commit message (Collapse) | Author |
|
With the addition of 'report', the built-in names and command names
are no longer disjoint sets. All occurrences of 'report' are
fontified as a built-in because the built-in regexp is a substring of
the command regexp. Move the command regexp before the built-in
regexp so that the 'report:' command is highlighted as a command.
|
|
|
|
This has been around forever.
|
|
|
|
|
|
|
|
|
|
|
|
python.el changed its indentation engine in Emacs 24.5. We rely on a
python-indent-calculate-indentation that is specific for the newer
version.
Re: #28
|
|
|
|
|
|
In addition the per-rule singularity field, Snakemake supports a
top-level global directive (since v4.8.0, I think).
|
|
This has been around since Snakemake 3.9.0.
|
|
|
|
|
|
Closes #24.
|
|
|
|
Subworkflow blocks support a "configfile" field as of Snakemake's
1f02ae9 (Allow to specify configfile for subworkflows., 2016-08-24).
Add "configfile" as a field-key so that the subworkflow variant is
fontified as a key rather than a command. As with "workdir", the
tradeoff is that an indented, non-subworkflow "configfile" is
fontified as a key rather than a command.
Fixes #23.
|
|
|
|
Closes #22.
|
|
This function was added in Snakemake v3.10.0.
|
|
|
|
|
|
|
|
As of Emacs 25, single quotes in doc-strings are rendered according to
text-quoting-style, which by default results in single quotes being
displayed as curved quotes. Instead of protecting single quotes with
"\\=", switch some to double quotes (which still need to be escaped,
but in a less jarring way), and avoid quoting symbols, which are
better represented within `'.
|
|
The changes to the first paragraph will make the following commit
cleaner.
Also, there's no need to tell users where to set mmm-global-mode.
|
|
|
|
Using "input" here overrides the highlighting of "input" by
python-font-lock-keywords, although in either case
font-lock-builtin-face is used. The addition of "output" to the
regexp means that output and input are now displayed with a consistent
face in run blocks.
Fixes #20.
|
|
Instead of distinguishing built-ins from field keys by a trailing "(",
make the field key regexp, which is more specific, have a higher
precedence. This allows Snakemake built-ins to be highlighted
correctly even if they are not called as functions.
|
|
The sm-builtin regexp will be extended to support built-in Snakemake
objects like "input" and "output", at which point "function" will no
longer be an accurate description.
|
|
|
|
|
|
|
|
The keyword wildcard_constraints can be either a top-level command or a
rule field keyword. The previous order in snakemake-font-lock-keywords
resulted in wildcard_constraints always be highlighted as a command key.
Rearrange the font lock list order to put the field key entry first.
This should result in the correct highlighting in every case except for
when a command key is indented (e.g., under an "if"), but this
presumably will occur much less frequently than wildcard_constraints
being used as a field keyword.
|
|
wildcard_constraints was added in Snakemake v3.8.0 (feb6aee).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
These functions aren't in Emacs 24.* and have been removed from the
emacs-25 branch. See Emacs 124c486 (Remove prog-indentation-context,
2016-03-28).
|
|
Include name and block type.
|
|
|
|
|
|
|
|
|
|
The previous implementation did not support some legal syntax:
* spaces between rule lines
* indented rule blocks (e.g., a rule defined under an if-statement)
* top-level commands like "include" when the value started on the second
line (re: #16)
|
|
Fixes #17.
|
|
|