summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-22Release 2.0.0v2.0.0Kyle Meyer
2022-02-22make: Drop transient from the load pathKyle Meyer
This is no longer needed following the switch from Magit Popup to Transient.
2022-02-22mode: Add support for new module syntaxKyle Meyer
Snakemake 6.0 introduced a module syntax that looks like this: module other_workflow: snakefile: "other_workflow/Snakefile" use rule * from other_workflow as other_* Give the new module block the same indentation and fontification as other blocks by adding "module" to the list of words that mark a named rule. For the "use rule" line, highlight "use rule" as a keyword, leaving the rest of the line to be highlighted by python.el.
2022-02-22Delete snakemake-compile compatibility aliasKyle Meyer
2022-02-22snakemake-rx-constituents: Drop deprecated sm-funcKyle Meyer
This was marked as deprecated in v1.1.0, and it's unlikely that anyone ever relied on it.
2022-02-22mode: Add support for some newer keywordsKyle Meyer
I'm not sure if containerized can be used as a field too, but I only see it used as a top-level command in the examples.
2022-02-21Increase minimum required Emacs version to 26.1Kyle Meyer
26.1 was released in 2018 and is in the current Debian oldstable (Buster). I'm unlikely to build an older Emacs version than that in order to investigate and work around any incompatibilities that are reported, so mark it as the minimum. Message-Id: <20220222043213.218747-1-kyle@kyleam.com>
2022-02-21Drop cl-lib from Package-Requires headerKyle Meyer
cl-lib was added in the Emacs 24.3 release, so cl-lib no longer needed to be specified when ca4d60d (Change Emacs requirement for Emacs 24 to Emacs 24.5, 2018-08-16) changed (emacs "24") to (emacs "24.5").
2022-02-21transient: Use --cores=all by defaultKyle Meyer
--cores has been a mandatory argument since v5.11. Set the default to something that can actually build targets. Message-Id: <20220222030207.204401-4-kyle@kyleam.com>
2022-02-21transient: Replace --jobs with --coresKyle Meyer
--cores was added as a synonym for --jobs in v3.10.0 (2012), and, as of v6.5.0, --cores and --jobs are distinct things for cloud/cluster jobs. Wait to add --jobs until it's requested. Message-Id: <20220222030207.204401-3-kyle@kyleam.com>
2022-02-21Rewrite snakemake-popup as a transientKyle Meyer
Magit switched to Transient for its popups a while go. Magit Popup is still around for third-party libraries that may use it, but it's not actively developed. At the moment, this switch is trading one external library for another (improved) one. However, Transient will ship with Emacs starting with the upcoming 28.1 release. Message-Id: <20220222030207.204401-2-kyle@kyleam.com>
2022-02-21Rework copyright linesKyle Meyer
public-inbox has started to drop dates from its copyright lines, pointing to the recommendation at https://www.linuxfoundation.org/blog/copyright-notices-in-open-source-software-projects/ I regularly fail to keep copyright lines up to date, so I'll gladly follow suit. Drop the dates and change the copyright holder to (almost match) the variants recommended in the above article.
2022-02-21ci: Switch to GitHub ActionsKyle Meyer
After GitHub Actions were available, this repository kept using Travis because it worked well enough, especially given this package is very much in maintenance mode. However, going forward it'd be nice to use purcell/setup-emacs action to test various Emacs versions. Don't bother testing against Emacs 24 because the next release will bump the minimum Emacs version to at least 25.1. While touching this setup, drop the Makefile target for downloading dependencies and instead just expect dependencies to be one level up from the snakemake-mode checkout.
2022-02-21make: Load autoload.el before calling update-directory-autoloadsKyle Meyer
--eval uses lexical scoping as of Emacs 27. Load autoload.el to evaluate (defvar generated-autoload-file ...) and get dynamic scope. See Emacs's bug#39823.
2020-12-24mode: Add "name" to the list of field keysKyle Meyer
2020-11-08Release 1.8.0v1.8.0Kyle Meyer
2020-11-01docs: Update stale Snakemake linksKyle Meyer
2020-11-01mode: Add "container" and "envmodules" keywordsKyle Meyer
Register "container" as both a field key and a top-level command because an example of both is present in the Snakemake docs. Reported-by: Nicholas Knoblauch <knoblauch.nicholas@gene.com> Message-Id: <87eelcak64.fsf@kyleam.com>
2020-11-01travis: Turn off emails about successful runsKyle Meyer
2020-11-01travis: Bump Python version to 3.7Kyle Meyer
The Travis builds have started to fail because Snakemake now requires at least Python 3.7.
2020-11-01NEWS: Reformat entry about new keywordsKyle Meyer
More are on the way.
2020-07-19mode: Add "envvars" to list of top-level commandsKyle Meyer
2020-04-17mode: Add "cache" to the list of field keysKyle Meyer
2020-04-16README: Revise contributing sectionKyle Meyer
2020-04-16issue_template.md: Tweak wordingKyle Meyer
2020-04-16issue_template.md: ReflowKyle Meyer
I went with the long lines because that will be rendered more nicely by GitHub. But this is shown in the text field so it doesn't matter.
2020-04-13Merge branch 'readme-updates'Kyle Meyer
2020-04-13README: Add a contributing sectionKyle Meyer
2020-04-13README: Rewrite as a plain text fileKyle Meyer
2020-04-13Rename READMEKyle Meyer
2020-04-13README: Update Snakemake linkKyle Meyer
2020-04-13Add COPYING fileKyle Meyer
I shouldn't rely on the license notice at the top of the files.
2020-04-13Redirect those opening issues/PRs on GitHubKyle Meyer
2020-04-13Update links for repo's new homeKyle Meyer
2020-02-22Release 1.7.0v1.7.0Kyle Meyer
2020-02-21Merge branch 'emacs27-font-lock'Kyle Meyer
2020-02-21font-lock: Adjust python-font-lock-keywords handling for Emacs 27Kyle Meyer
In Emacs 27, specifically 36b64e087e (Add 'font-lock-maximum-decoration' levels for Python, 2018-07-19), python-font-lock-keywords was changed to a list of symbols that define different fontification levels, so we can no longer simply tack snakemake-font-lock-keywords onto it. Instead define a set of levels that mirrors Python mode's. For Snakemake mode, the same decoration is used for all levels, but at least we will honor the level of decoration that the user has set for Python. Reported-by: Nicholas Knoblauch <nwknoblauch@gmail.com> Closes #29.
2020-02-21font-lock: Pull python-font-lock-keywords into snakemake'sKyle Meyer
This will make it easier to work around a change to python-font-lock-keywords in Emacs 27.
2020-02-21mode: Retain non-keyword parts of inherited font-lock-defaultsKyle Meyer
snakemake-font-lock-keywords is extended with python-font-lock-keywords, but the non-keyword bits that python.el defines for font-lock-defaults are discarded. Keep those too because python.el sets a value for font-lock-syntactic-face-function.
2020-02-21mode: Add "multiext" to list of built-insKyle Meyer
2020-02-21NEWS: Delete second-level headingsKyle Meyer
There are few enough entries in each release that this extra structure isn't really helpful. Plus, some things that are labeled as "new features", like recognizing keywords for fontification, seem a bit silly to call a feature, but I can't think of a better heading for them.
2020-02-21Update copyright yearsKyle Meyer
2019-09-11Release 1.6.0v1.6.0Kyle Meyer
2019-09-11guix-snakemake-environment: Update stale commentKyle Meyer
This should have been adjusted in a5f868f (Change 'guix environment' snippet to use --manifest, 2018-09-01).
2019-04-11mode: Add checkpoint supportKyle Meyer
2018-10-07Release 1.5.0v1.5.0Kyle Meyer
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-22snakemake-popup: Add --use-condaKyle Meyer