vscode-geass
v0.0.4
Published
High level abstraction for contextual code generation in vscode. Extended support for c-family languages.
Downloads
22
Readme
vscode-geass
A high level abstraction layer for help in file-editing and scripting workflows in vscode.
I made this package because many software APIs (mostly game engines) are macro heavy and default code-completion tools are not adequate. This results in much of dev-time wasted writing boilerplate code. This package is used to develop the following projects. Feel free to integrate to your own projects.
The API is provided as a set of self-explanatorily named modules. The goal is to parse lines in editor to contextually
- Make changes to files like (.cpp/.h) pairs
- Auto-fill boiletplate code
- Create directories
vscfg
Config module.
Contains functions for reading and updating configurations easily.
| FunctionName | Utility | | ---------------- | -------------------------------------------------- | | GetVSConfig | Gets a VSCode config(string array) and updates it. | | AppendToVSConfig | Gets a VSCode config (templated) |
vsed
Editor module.
Contains functions to read, make edits and parse lines for the current file. Any other file should be manipulated using vsfs.
| FunctionName | Utility | | ----------------------- | -------------------------------------------------------------------- | | InsertAt | Insert a single string at given line(optionally specify tabstops) | | MoveCursorTo | Positions cursor at line. Used to add line(s) before/after that line | | MatchRegexInFile | Scans line from start to end for regex match | | MatchRegexInFileSync | Scans line from start to end for regex match | | MatchRegexInFile_Bounds | Scans active file with regex, returns first and last found indices | | RegexTestActiveFile | Regex checks the currently active file. | | WriteAtLine_Silent | Silently writes at line. Effectively adds lines ABOVE | | WriteAtCursor | Writes lines at cursor position. Inserts newlines. |
vsfs
Filesystem module.
Use to read,write files other that the active file. Mostly async functions available. Uses read/write buffers internally.
| FunctionName | Utility | | -------------- | ------------------------------------------------------------------------------------ | | RegexMatchLine | Use a regex pattern and look match for the first line. Only async version available. |
vsui
User-Interface module.
Shorthands for most of the default library. A few quality-of-improvement in UX handling.
| FunctionName | Utility | | --------------- | --------------------------------------------------------------------------- | | Error | Simple info message. No callbacks. | | GetAFolder | Request user for a folder (Sync) | | GetAFolderAsync | Request user for a folder (Async) | | GetString | Request user for string input (Sync) | | GetStringAsync | Request user for string input (Async) | | Info | Simple info message. No callbacks. | | InputBoxAsync | Shows input box to user and recieves SINGLE string input. | | QuickPickAsync | Show quick pick and return selection. Use doCompare for yes/no prompts etc. | | Warning | Simple info message. No callbacks. |
Note to self
To push an update to github