Nuclear Input Cards: Highlighting for Other Lightweight editor Suites — Sublime Text and Notepad++ support for the four nuclear Monte Carlo codes: MCNP, OpenMC, Serpent 2, SCONE.
A BelvoirDynamics product (the division's naming honors Manhattan Project engineers — GROVES, OWEN, and now NICHOLS after K. D. Nichols, District Engineer of the Manhattan Engineer District). NICHOLS ports the syntax scopes, snippets, and 4-palette color concept of our OWEN VS Code extension to the two most common lightweight editors in the nuclear engineering community.
Grab the zip for your editor from the latest release:
nichols-sublime-vX.Y.Z.zip— Sublime Text 4 packagenichols-notepadpp-vX.Y.Z.zip— Notepad++ UDLs + auto-completion
Install instructions are in the README inside each zip (Sublime · Notepad++).
| Capability | OWEN (VS Code) | NICHOLS Sublime | NICHOLS Notepad++ |
|---|---|---|---|
| MCNP / Serpent / SCONE highlighting | TextMate grammars | .sublime-syntax (same scopes) |
UDL 2.1 |
| OpenMC API highlighting | injection grammar | Python (OpenMC) extended syntax |
— (stock Python lexer) |
| Snippets / completions | ✔ | ✔ (ported, + API completions) | ✔ (autoCompletion XML + param hints) |
| 4 color palettes | ✔ (live palette picker) | ✔ (4 color schemes) | 1 baked-in UDL style set |
| Toggle comment | ✔ | ✔ | ✔ (via UDL comment defs) |
| Run deck from editor | simulation runner | build systems | — |
| MCNP 80-col guard | validator | ruler at col 80 | PythonScript check script |
| Lattice builder, 3D preview, ALLEN, validation, results viewer | ✔ | — (platform limit) | — (platform limit) |
nichols/
├── sublime/
│ ├── NICHOLS/ The Sublime package — copy into Packages/
│ │ ├── *.sublime-syntax MCNP, Serpent, SCONE, Python (OpenMC)
│ │ ├── *.sublime-completions snippets + keyword/API completions
│ │ ├── *.sublime-build mcnp6 / sss2 / scone.out / python runners
│ │ ├── *.sublime-settings per-language editor defaults
│ │ ├── Comments *.tmPreferences toggle-comment definitions
│ │ └── NICHOLS *.sublime-color-scheme Classic/Solarized/HighContrast/Pastel
│ └── README.md
├── notepadpp/
│ ├── udl/ MCNP_udl.xml, Serpent_udl.xml, SCONE_udl.xml
│ ├── autoCompletion/ MCNP.xml, Serpent.xml, SCONE.xml, python_openmc_addon.xml
│ ├── pythonscript/ mcnp_line_length_check.py (optional)
│ └── README.md
├── samples/ small decks for eyeballing highlight coverage
└── scripts/ generators + validation + zip packaging
cd nichols
npm install # js-yaml for validation
npm run generate # regenerate color schemes + Npp autoCompletion XMLs
npm run validate # YAML/JSON/XML well-formedness + regex compile checks
npm run package # build dist/nichols-sublime.zip and dist/nichols-notepadpp.zipThe color schemes and autoCompletion XMLs are generated — edit
scripts/generate-*.js, not the outputs. The .sublime-syntax scope names
deliberately mirror OWEN's TextMate grammars (keyword.control.mcnp,
constant.other.zaid.serpent, …) so palettes translate 1:1.
MIT.