{"id":37101079,"url":"https://github.com/peterk87/sublime-nextflow","last_synced_at":"2026-01-14T12:17:34.713Z","repository":{"id":40343200,"uuid":"178066360","full_name":"peterk87/sublime-nextflow","owner":"peterk87","description":"Nextflow workflow syntax highlighting and snippets for Sublime Text 4","archived":false,"fork":false,"pushed_at":"2025-01-08T02:52:46.000Z","size":683,"stargazers_count":24,"open_issues_count":5,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-01T16:20:03.622Z","etag":null,"topics":["editor-plugin","nextflow","nextflow-dsl2","nextflow-workflow","snippets","sublime-text","sublime-text-3","sublime-text-4","syntax-highlighting"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peterk87.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-27T20:02:41.000Z","updated_at":"2025-01-08T02:52:50.000Z","dependencies_parsed_at":"2023-01-23T10:56:35.262Z","dependency_job_id":null,"html_url":"https://github.com/peterk87/sublime-nextflow","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/peterk87/sublime-nextflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterk87%2Fsublime-nextflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterk87%2Fsublime-nextflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterk87%2Fsublime-nextflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterk87%2Fsublime-nextflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterk87","download_url":"https://codeload.github.com/peterk87/sublime-nextflow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterk87%2Fsublime-nextflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28419929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:47:48.104Z","status":"ssl_error","status_checked_at":"2026-01-14T10:46:19.031Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["editor-plugin","nextflow","nextflow-dsl2","nextflow-workflow","snippets","sublime-text","sublime-text-3","sublime-text-4","syntax-highlighting"],"created_at":"2026-01-14T12:17:33.951Z","updated_at":"2026-01-14T12:17:34.699Z","avatar_url":"https://github.com/peterk87.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![nf-core/sublime](images/nfcore-sublime_logo.png)\n\n### [Nextflow] and [nf-core] workflow completions, commands, syntax highlighting and snippets for [Sublime Text 4]\n\n- **⚠️WARNING⚠️:** Sublime Text 3 is no longer supported by this package as of version 1.0.0. Only Sublime Text 4 is supported since this package requires Python 3.8 and new features in ST4.\n- **❗NOTE❗:** Only [DSL-2] Nextflow workflows are supported by this package.\n\nThis package provides [Nextflow] workflow language:\n\n- completions (`params.`, `conda`, `\u003cPROCESS/WORKFLOW\u003e.out.\u003cemit name\u003e`)\n- informative popups for processes and sub-workflows\n- commands (insert container directive, insert module import statement)\n- syntax highlighting\n- snippets\n\nEssentially, this package tries to make [Nextflow] workflow development a bit easier especially when trying to develop [nf-core] conventions and best practices for developing [Nextflow] pipelines.\n\n## Nextflow completions and commands\n\n### Process module include command\n\n- `ctrl+l,p` in an `.nf` file where you want to import your process\n\n![](images/include-process-command-quick-menu.png)\n\n- select the process you wish to import\n- something like the following will be inserted\n\n```nextflow\ninclude { MAKE_BED_MASK } from '../modules/local/make_bed_mask' addParams( options: modules['make_bed_mask'] )\n```\n\nThe `addParams( options: modules['make_bed_mask'] )` may not be needed and can be removed; it assumes that you have a `conf/modules.config` with a map of your module `args`, `publish_dir`, etc (see [nf-core/modules](https://github.com/nf-core/modules#module-parameters) for more info).\n\n### Workflow `params`\n\n**NOTE:** Completions and info popups for `params` depend on a valid `nextflow_schema.json` in your workflow root directory. Example [`nextflow_schema.json` for nf-core/viralrecon workflow](https://github.com/nf-core/viralrecon/blob/master/nextflow_schema.json).\n\nNavigate cursor to a `params.\u003cvariable\u003e` to show a popup with info pulled from the `nextflow_schema.json` for that workflow parameter.\n\n![](images/params-popup-nf-core-viralrecon.png)\n\n### [Conda] completion\n\n**NOTE:** [Conda] must be installed along with any channels (e.g. [bioconda], [conda-forge]) to get packages information (needs to be able to run `conda search`).\n\n- Open the command palette (`ctrl+shift+p`) and run the `Nextflow: Fetch Conda packages information` command to fetch the latest Conda package info (runs `conda search`; may take a while).\n- In your process definition, inside the `conda` directive string press `ctrl+space` to bring up the completion list. *This may have a little delay since the package list may be very large.*\n\n```nextflow\nprocess PANGOLIN {\n  conda '\u003cpress ctrl+space to bring up completion list\u003e'\n}\n```\n\n![](images/conda-completion.png)\n\n### Process output channel completion\n\nGet process named output (i.e. using the [`emit`](https://www.nextflow.io/docs/latest/dsl2.html#process-named-output) option) completions after typing `\u003cPROCESS_NAME\u003e.out.`.\n\n![](images/process-out-completion-nf-core-viralrecon.png)\n\n- completion shows what's on the channel as well!\n\n### Process output channel popup\n\nShow useful info about what output the a process is emitting.\n\n![](images/process-out-popup-nf-core-viralrecon.png)\n\n### Container directive insert command\n\nThis command inserts similar code to what you'd find in an [nf-core modules](https://github.com/nf-core/modules) process definition with respect to process `container` directives. The [Biocontainers] information is pulled from the [Singularity][] images [https://depot.galaxyproject.org/singularity/](https://depot.galaxyproject.org/singularity/) and cached as a Python pickle file. [Docker] container image tags point to the [Biocontainers][] [Quay.io page](https://quay.io/organization/biocontainers).\n\n- Open the command palette (`ctrl+shift+p`) and run the `Nextflow: Fetch Biocontainers information` command to fetch the latest [Biocontainers] list fetched from\n- In your process definition, press `ctrl+l,c`, search for the container you're interested in\n\n![](images/container-command-quick-menu.png)\n\n- Select the program and version you're interested in to output the following:\n\n```nextflow\nif (workflow.containerEngine == 'singularity' \u0026\u0026 !params.singularity_pull_docker_container) {\n  container 'https://depot.galaxyproject.org/singularity/fastqc:0.11.9--hdfd78af_1'\n} else {\n  container 'quay.io/biocontainers/fastqc:0.11.9--hdfd78af_1'\n}\n```\n\n## Nextflow Syntax Highlighting\n\nNextflow syntax highlighting extends Sublime Text 4's Groovy syntax with highlighting of:\n\n- imports (DSL-2 modules)\n  ![](images/syntax-highlighting-module-imports-nf-core-viralrecon.png)\n- workflow definitions\n  ![](images/syntax-highlighting-workflow-def-nf-core-viralrecon.png)\n- process definitions\n  ![](images/syntax-highlighting-process-def-nf-core-viralrecon.png)\n- channel highlighting based on matching `ch_*`\n- some invalid syntax checks (into channel in input tag and from channel in output tag)\n- highlighting special Nextflow functions and variables (`workflow`, `params`, `task`, etc)\n\nProcess syntax highlighting and scoping allows one to easily go to the definition  or usages of a process (`ctrl+shift+g` keyboard shortcut):\n\n![](images/goto-process-definition.png)\n\n## Nextflow Snippets\n\nType one of the following and press `TAB`:\n\n- `!env`: `#!/usr/bin/env nextflow`\n- `proc`: [process](https://www.nextflow.io/docs/latest/process.html) snippet\n- `tag`: [tag](https://www.nextflow.io/docs/latest/process.html#tag) process directive snippet\n- `pub`: [publishDir](https://www.nextflow.io/docs/latest/process.html#publishdir) process directive snippet\n- `conda`: [conda](https://www.nextflow.io/docs/edge/process.html#conda) process directive snippet\n- `illumina`: Illumina paired-end reads file pairs channel\n- `cpus`: insert `\"${task.cpus}\"` into a process script\n- `script_path`: specify user script (e.g. Python script) to use from `scripts/` directory in workflow base directory\n- `info`: `log.info` snippet\n- `done`: on workflow complete or error message\n\n# Changelog\n\n## 1.1.0 - [2022-05-13]\n\n**Added:**\n\n- more informative popups for showing info about process output so it's easier to select the correct output channel without referencing the process code.\n- subworkflow completions and info popups about `take` and `emit` channels \n- `conda` directive snippet\n\n**Fixed:**\n\n- comment toggling\n\n## 1.0.0 - [2021-06-30]\n\n- Added syntax highlighting for Nextflow DSL-2\n- Added completions and commands for workflow `params`, `PROCESS.out.`, conda, container, module include\n- Removed some not very useful snippets\n\n## 0.1.0-alpha.1 - [2019-03-27]\n\n- Initial release with Groovy-based syntax highlighting and basic snippets\n\n[DSL-2]: https://www.nextflow.io/docs/latest/dsl2.html\n[Nextflow]: https://www.nextflow.io/\n[nf-core]: https://nf-co.re/\n[Conda]: https://docs.conda.io/en/latest/\n[bioconda]: https://bioconda.github.io/\n[conda-forge]: https://conda-forge.org/\n[Singularity]: https://sylabs.io/guides/3.7/user-guide/quick_start.html\n[Docker]: https://www.docker.com/\n[Sublime Text 4]: http://www.sublimetext.com/\n[Biocontainers]: https://biocontainers.pro/\n\n# License\n\nMIT License\n\nCopyright (c) Peter Kruczkiewicz\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterk87%2Fsublime-nextflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterk87%2Fsublime-nextflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterk87%2Fsublime-nextflow/lists"}