{"id":32125166,"url":"https://github.com/vrognas/vscode-nmtran","last_synced_at":"2026-05-13T18:04:20.696Z","repository":{"id":180782202,"uuid":"665534419","full_name":"vrognas/vscode-nmtran","owner":"vrognas","description":"NMTRAN (NONMEM) extension for Visual Studio Code","archived":false,"fork":false,"pushed_at":"2026-02-03T10:24:12.000Z","size":6790,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-02-03T12:23:47.540Z","etag":null,"topics":["nonmem","visual-studio-code","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=vrognas.nmtran","language":"TypeScript","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/vrognas.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":"https://buymeacoffee.com/vrognas"}},"created_at":"2023-07-12T12:20:08.000Z","updated_at":"2026-02-03T10:24:46.000Z","dependencies_parsed_at":"2025-05-04T14:22:27.636Z","dependency_job_id":"0b0a1b08-d420-47dc-aba0-2acc045aee03","html_url":"https://github.com/vrognas/vscode-nmtran","commit_stats":null,"previous_names":["vrognas/vscode-nmtran"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/vrognas/vscode-nmtran","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vrognas%2Fvscode-nmtran","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vrognas%2Fvscode-nmtran/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vrognas%2Fvscode-nmtran/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vrognas%2Fvscode-nmtran/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vrognas","download_url":"https://codeload.github.com/vrognas/vscode-nmtran/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vrognas%2Fvscode-nmtran/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29048700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T15:43:47.601Z","status":"ssl_error","status_checked_at":"2026-02-03T15:43:46.709Z","response_time":96,"last_error":"SSL_read: 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":["nonmem","visual-studio-code","vscode-extension"],"created_at":"2025-10-20T22:33:39.595Z","updated_at":"2026-05-13T18:04:20.676Z","avatar_url":"https://github.com/vrognas.png","language":"TypeScript","funding_links":["https://buymeacoffee.com/vrognas"],"categories":[],"sub_categories":[],"readme":"# NMTRAN (NONMEM) Language Extension for VSCode \u003cimg src=\"images/nmtran.png\" align=\"right\" height=\"160\" alt=\"NMTRAN Logo\" /\u003e\n\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vrognas/vscode-nmtran/ci.yml)\n![Visual Studio Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/vrognas.nmtran)\n![GitHub License](https://img.shields.io/github/license/vrognas/vscode-nmtran)\n\n\u003e [!NOTE]\n\u003e This extension is currently in active development.\n\u003e While stable for daily use, expect occasional breaking changes.\n\u003e Please report any issues to help improve the extension.\n\nComprehensive language support for NMTRAN (NONMEM Translator) files in Visual Studio Code. Provides intelligent features for pharmacometric modeling with NONMEM control streams.\n\n## What is NMTRAN?\n\n[NMTRAN](https://nmhelp.tingjieguo.com) is the control language for [NONMEM](https://www.iconplc.com/solutions/technologies/nonmem/), the gold standard software for population pharmacokinetic/pharmacodynamic (PopPK/PD) modeling in pharmaceutical research.\nNMTRAN files (`.mod`, `.ctl`) define models for analyzing time-varying dose-concentration and exposure-response relationships.\n\n## Installation\n\nThe NMTRAN extension is available for **VSCode** and **VSCode-based editors**, including [Positron](https://github.com/posit-dev/positron).\n\n**Install via Extensions View:**\n- Open your code editor\n- Make sure you have a recent version (VS Code ≥ 1.109 / Positron ≥ 2026.04)\n- Open the Extensions View\n- Search for `NMTRAN` or `nonmem`\n- Click \"Install\" on the NMTRAN extension by vrognas (`vrognas.nmtran`)\n\n\u003e [!TIP]\n\u003e For an enhanced NMTRAN development experience, consider installing **[ErrorLens](https://github.com/usernamehw/vscode-error-lens)**.\n\u003e It makes diagnostics stand out more prominently, highlighting the entire line wherever a diagnostic is generated and printing the message inline.\n\u003e Perfect for spotting NMTRAN validation errors at a glance.\n\n## Quick start\n\nOnce installed, open any NMTRAN file (`.mod`, `.ctl`) to automatically activate the extension:\n\nTry these features:\n- **Hover** over THETA/ETA/EPS to see definitions; control records to see explanations.\n- **Right-click** on `THETA(1)` → \"Peek\" → \"Peek References\"\n- Notice real-time **error highlighting** for invalid syntax\n\n## Features\n\n### 🧠 Language intelligence\n\n- **Real-time diagnostics**: Validation of control records, parameter sequences, and NMTRAN syntax\n- **Intelligent hover**: Explanations for control records, parameters, and NONMEM functions\n- **Go to Definition**: Navigate from parameter usage (`THETA(1)`) to declaration (`$THETA`)\n- **Find All References**: Locate all usages of parameters throughout your model\n\n![Hover peek demo](images/demo_hover-peek.gif)\n\n### ✨ Code enhancement\n\n- **Syntax highlighting**: Rich tokenization following TextMate conventions\n- **Code folding**: Collapse control records for better file navigation\n- **Smart formatting**: Configurable indentation and code organization\n- **Comment toggling**: Quick comment/uncomment with standard VSCode commands\n\n![Syntax highlighting demo](images/demo_syntax-highlight.png)\n\n### 📝 Code snippets\n\nComprehensive snippet library for rapid model development:\n\n![Snippet demo](images/demo_advan-snippets.gif)\n\n**Available snippets:**\n- **Subroutines**: ADVAN/TRANS combinations for PK modeling\n- **Data handling**: `$DATA` record templates with common options\n- **Error models**: Additive, proportional, and combined residual error models\n- **Tables**: Xpose-friendly `$TABLE` configurations\n- **Mixture models**: 2-way and 3-way mixture model templates\n- **Special modeling**:\n  - Logit-normal IIV for bounded parameters\n  - Baseline models (B1--B4) [Dansirikul et al., 2008](https://doi.org/10.1007/s10928-008-9088-2)\n  - BQL handling (M3 method) [Beal, 2001](https://doi.org/10.1023/a:1012299115260)\n\n## Supported file types\n\nThe extension activates for these NONMEM-related file extensions:\n\n- **Control streams**: `.mod`, `.ctl`, `.modt`, `.ctl_dde`, `.dde`\n- **Output files**: `.lst`, `.ext`, `.cov`, `.cor`, `.coi`, `.cnv`, `.res`\n- **Special files**: `.phi`, `.scm`, `.grd`, `.shk`, `.shm`, `.smt`, `.rmt`, `.phm`\n\nSyntax highlighting, hover, go-to-definition, and folding work on all of\nthem. **Real-time diagnostics (red/yellow squiggles) only fire on\n`.mod` and `.ctl`** — the other types are NONMEM-generated output or\nauxiliary files where validation would produce false positives.\n\n## Community \u0026 support\n\n- **Documentation**: [NMTRAN Reference](https://nmhelp.tingjieguo.com)\n- **Issues \u0026 Feature Requests**: [GitHub Issues](https://github.com/vrognas/vscode-nmtran/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/vrognas/vscode-nmtran/discussions)\n- **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md)\n- **Sponsor**: [Buy me a coffee ☕](https://buymeacoffee.com/vrognas)\n\n## Contributing\n\nWhether you're fixing bugs, adding features, or improving documentation, your help makes this extension better for the pharmacometrics community.\n\n- 🐛 **Bug reports**: [GitHub Issues](https://github.com/vrognas/vscode-nmtran/issues)\n- 💡 **Feature requests**: [GitHub Discussions](https://github.com/vrognas/vscode-nmtran/discussions)\n- 🔧 **Pull requests**: See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines\n- 📖 **Documentation**: Help improve our docs and examples\n\n## License\n\n[MIT License](LICENSE) - feel free to use this extension in your research and commercial projects.\n\n---\n\n**Enjoy enhanced NMTRAN development!** 🧬💊\n\n*Made with ❤️ for the pharmacometrics community*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvrognas%2Fvscode-nmtran","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvrognas%2Fvscode-nmtran","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvrognas%2Fvscode-nmtran/lists"}