Skip to content

caalh/nichols

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NICHOLS

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.

Downloads

Grab the zip for your editor from the latest release:

  • nichols-sublime-vX.Y.Z.zip — Sublime Text 4 package
  • nichols-notepadpp-vX.Y.Z.zip — Notepad++ UDLs + auto-completion

Install instructions are in the README inside each zip (Sublime · Notepad++).

Feature matrix vs OWEN

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)

Repository layout

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

Development

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.zip

The 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.

License

MIT.

About

NICHOLS — Sublime Text & Notepad++ support for nuclear Monte Carlo input decks (MCNP, OpenMC, Serpent, SCONE): syntax highlighting, completions, color schemes, build systems. A BelvoirDynamics product.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors