I am working on a language extension for SAS for VScode. I previously worked on the SAS language extension for Atom (https://github.com/akanosora/language-sas) as well as Vi
You can add the data
and proc
keywords themselves to the "decreaseIndentPattern"
rule. This way, these keywords will serve for both un-indenting the current line, and starting a new indentation block on the next line.
Consider this, for example:
"indentationRules": {
"increaseIndentPattern": "^\\s*(proc|data)\\s+.*;\\s*$",
"decreaseIndentPattern": "^\\s*(run|((proc|data)\\s+.*))\\s*;"
}