summaryrefslogtreecommitdiff
path: root/snakemake-mode.el
AgeCommit message (Collapse)Author
2018-10-04snakemake-font-lock-keywords: Increase command precedenceKyle Meyer
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.
2018-10-04mode: Add "report" to list of field keys and built-insKyle Meyer
2018-10-04mode: Add "localrules" as to the list of top-level commandsKyle Meyer
This has been around forever.
2018-09-18mode: Add "group" to the list of field keysKyle Meyer
2018-09-01Prefer https linksKyle Meyer
2018-08-16Release 1.4.0v1.4.0Kyle Meyer
2018-08-16mode: Add "pipe" to the list of built-insKyle Meyer
2018-08-16mode: Add "directory" to the list of built-insKyle Meyer
2018-08-16Change Emacs requirement for Emacs 24 to Emacs 24.5Kyle Meyer
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
2018-08-16Silence byte-compilerKyle Meyer
2018-08-16snakemake-mode-setup-mmm: Fix quoting in docstringKyle Meyer
2018-05-19mode: Add "singularity" as to the list of top-level commandsKyle Meyer
In addition the per-rule singularity field, Snakemake supports a top-level global directive (since v4.8.0, I think).
2018-05-19mode: Add "ancient" as to the list of built-insKyle Meyer
This has been around since Snakemake 3.9.0.
2018-03-20mode: Add "cwl" to the list of field keysKyle Meyer
2018-01-28Bump versionv1.3.0Kyle Meyer
2018-01-25mode: Add "singularity" to the list of field keysKyle Meyer
Closes #24.
2018-01-20Update copyright yearsKyle Meyer
2017-10-30mode: Recognize "configfile" as a subworkflow keyKyle Meyer
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.
2017-10-30snakemake-font-lock-keywords: Fix indentationKyle Meyer
2017-10-10mode: Add ".smk" as a file suffixKyle Meyer
Closes #22.
2017-09-20mode: Recognize "unpack" as a Snakemake built-inKyle Meyer
This function was added in Snakemake v3.10.0.
2017-04-30Bump versionv1.2.1Kyle Meyer
2017-04-06Bump versionv1.2.0Kyle Meyer
2017-03-26Update copyright yearsKyle Meyer
2017-02-26snakemake-mode-setup-mmm: Protect doc-string's single quotesKyle Meyer
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 `'.
2017-02-26snakemake-mode-setup-mmm: Touch up doc-stringKyle Meyer
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.
2016-11-22Bump versionv1.1.0Kyle Meyer
2016-11-17snakemake-rx-constituents: Support more built-in Snakemake objectsKyle Meyer
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.
2016-11-17snakemake-font-lock-keywords: Increase field key precedenceKyle Meyer
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.
2016-11-17snakemake-rx-constituents: Replace sm-func with sm-builtinKyle Meyer
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.
2016-11-15Support 'conda' keywordKyle Meyer
2016-11-10Bump versionv1.0.0Kyle Meyer
2016-10-26cosmetics: Use zerop instead of (= 0 ...)Kyle Meyer
2016-09-02Decrease font lock precedence of command keywordsKyle Meyer
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.
2016-09-02Support 'wildcard_constraints' keywordKyle Meyer
wildcard_constraints was added in Snakemake v3.8.0 (feb6aee).
2016-05-27Bump versionv0.5.1Kyle Meyer
2016-05-26Add snakemake-rx macroKyle Meyer
2016-05-25snakemake-rule-or-subworkflow-re: SimplifyKyle Meyer
2016-05-24indentation: Account for trailing commentsKyle Meyer
2016-05-24Fix indentation for continued lines under naked ruleKyle Meyer
2016-05-17Bump versionv0.5.0Kyle Meyer
2016-05-16Don't use prog-widen and prog-first-columnKyle Meyer
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).
2016-05-11Extend snakemake-block-bounds functionKyle Meyer
Include name and block type.
2016-05-11Fix add-log-current-defun-function assignmentKyle Meyer
2016-05-11Define function for add-log-current-defun-functionKyle Meyer
2016-05-11Define defun navigation commandsKyle Meyer
2016-05-11Add snakemake-block-bounds functionKyle Meyer
2016-05-11Rework indentationKyle Meyer
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)
2016-05-04snakemake-toplevel-command-re: Allow leading spacesKyle Meyer
Fixes #17.
2016-05-03Be more lenient with spacing in regexpsKyle Meyer