IBIS I/O Buffer Model Highlighter
vscode-ibis provides lightweight language support for IBIS (I/O Buffer Information Specification) .ibs files.
The first version focuses on fast, standard VS Code language-extension behavior using a TextMate grammar. It does not include parsing, validation, linting, completion, or semantic analysis yet.
Features
- Automatically recognizes
.ibs files as IBIS.
- Highlights IBIS section keywords such as
[Component], [Model], [Pin], [Model Selector], [Submodel], [Pullup], [Pulldown], [Ramp], and waveform/table sections.
- Highlights comments beginning with
|, including inline comments after data.
- Highlights numeric values, scientific notation, and common IBIS-style units and SI prefixes.
- Includes base language configuration for comments, brackets, quote handling, word selection, and folding markers.
- Works as a standard VS Code language extension with no runtime activation code.
Example
[IBIS Ver] 5.1
[File Name] example.ibs
| This is an IBIS comment
[Component] EXAMPLE_DEVICE
Manufacturer Example Semiconductor
[Pin] signal_name model_name R_pin L_pin C_pin
1 DQ0 MODEL_A 10m 1.2nH 0.35pF
[Model] MODEL_A
Model_type I/O
C_comp 2.0pF 1.8pF 2.2pF
[Pullup]
| voltage I(typ) I(min) I(max)
0.0V 0.0mA 0.0mA 0.0mA
Local Development
Install dependencies:
npm install
Open this folder in VS Code.
Press F5 and select Run Extension.
In the Extension Development Host window, open a .ibs file or create a new file and set the language mode to IBIS.
Packaging
Install dependencies first, then run:
npm run package
This runs vsce package and creates a .vsix file in the project root.
You can install the generated package locally with:
code --install-extension vscode-ibis-0.0.1.vsix
Publishing to VS Code Marketplace
Create a publisher in the Visual Studio Marketplace publisher management portal.
Replace your-publisher-id in package.json with your real publisher ID.
Update the repository, bugs, and homepage URLs in package.json.
Create a Personal Access Token with Marketplace publishing permissions.
Log in with:
npx vsce login <publisher-id>
Publish with:
npm run publish
Roadmap
- Add more complete IBIS keyword coverage.
- Add snippets for common IBIS sections.
- Add structural diagnostics for unmatched or malformed sections.
- Add hover help for common keywords and units.
License
MIT