Skip to content

A high level library for automatic code-injection, formatting and file-editing in vscode.

License

Notifications You must be signed in to change notification settings

suvam0451/vscode-geass

Repository files navigation

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.

Sleeping Forest

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

About

A high level library for automatic code-injection, formatting and file-editing in vscode.

Resources

License

Stars

Watchers

Forks

Releases

No releases published