SAS Programming Package for Sublime Text 3
A modest package for doing SAS programming.
Syntax definitions (highlighting) for SAS Programs and .log files. A build system that
- Batch-submits the currently-showing program to your local install of SAS.
- Waits for said program to finish.
- Opens the resulting .log file and checks it for errors or warnings (via a user-configurable regular expression). A macro (bound to ctrl-e) for jumping from error/warning to error/warning in your log.
- 'sql' starts up a proc sql - quit block.
- 'mac' creates the shell of a macro.
- 'mloop' creates a shell macro that loops through all the vars in a dataset (saving you from having to remember where to put the double-ampersands).
- 'frq' starts up a FREQ call.
- 'srt' starts up a SORT call.
- 'tp' starts up a TRANSPOSE call.
- Many more!
Indentation rules. Completions.
Installation is via the wonderful Package Control. Choose 'Package Control: Install Package' off the command palette and then find 'SAS Programming' on the resulting list.
Once that's done, create a trivial sas program (e.g., proc print data = sashelp.class ;), save it to a file (e.g., deleteme.sas) and hit ctrl-b to 'build' (aka batch-submit) your program. One of two things will happen:
- The package will find your copy of sas.exe in the location it expects, and the program will be batch-submitted (probably 20% of installs).
- The package will not find sas.exe where it's expected and it will prompt you to tell it where your sas.exe is.
If you get outcome 2 there, use the menus to navigate to Preferences -> Package Settings -> SAS -> Settings-User. That will open up the preferences file. Find and edit the value listed for the "sas-path" at the bottom. Enter the full path to your local copy of sas.exe. Windows users, note that backslash characters need to be escaped (doubled up) to be properly read.
- Polish build system.
- Play a sound at the finish of a job to call attention?
- Distinguish the taskbar icon from ST3's on the dialog that informs users that a build is complete?
- (Possible?) Bring (relevant instance of) ST3 to the fore upon dismissing finish dialog.
- Tap into built-in 'results view' stuff for error/warning navigations.