Build System Input
Extend default Sublime Text 3 build systems with input arguments.
Details
Installs
- Total 2K
- Win 2K
- Mac 359
- Linux 332
Feb 22 | Feb 21 | Feb 20 | Feb 19 | Feb 18 | Feb 17 | Feb 16 | Feb 15 | Feb 14 | Feb 13 | Feb 12 | Feb 11 | Feb 10 | Feb 9 | Feb 8 | Feb 7 | Feb 6 | Feb 5 | Feb 4 | Feb 3 | Feb 2 | Feb 1 | Jan 31 | Jan 30 | Jan 29 | Jan 28 | Jan 27 | Jan 26 | Jan 25 | Jan 24 | Jan 23 | Jan 22 | Jan 21 | Jan 20 | Jan 19 | Jan 18 | Jan 17 | Jan 16 | Jan 15 | Jan 14 | Jan 13 | Jan 12 | Jan 11 | Jan 10 | Jan 9 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 2 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 |
Mac | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
BuildSystemInput
Extend default Sublime Text 3 build systems with input arguments.
Choose the "build_system_input"
target in any build system to prompt for inputs, which are substituted for any occurence of the corresponding variable in "cmd"
or "shell_cmd"
. The input variables and their default values are provided in the new "input"
dictionary. For example,
"input": {
"input1": "a",
"input2": "b"
}
will first prompt for %input1%
with default value "a"
and then for %input2%
with default value "b"
. Two simple use cases of this concept are shown below for a single input variable. However, you can use as many input variables as you like.
Pass arguments to a Python script:
{
"target": "build_system_input",
"selector" : "source.python",
"shell_cmd": "xterm -e 'python $file_name %args%; echo && echo Press ENTER to continue && read line && exit'",
"windows": {
"shell_cmd": "start cmd /k \"python $file_name %args% & pause && exit\""
},
"shell": true,
"file_regex": "^\\s*File \"(...*?)\", line ([0-9]*)",
"working_dir": "$file_path",
"input": {
"args": "some arguments"
}
}
Pass compiler flags to clang:
{
"target": "build_system_input",
"selector" : "source.c, source.cpp, source.c++",
"cmd": ["clang++", "-std=c++11", "-Wno-c++98-compat-pedantic", "%flags%", "-Wall", "-o", "$file_base_name", "$file_name"],
"windows": {
"cmd": ["clang-cl", "-std=c++11", "-Wno-c++98-compat-pedantic", "%flags", "/Wall", "/o", "$file_base_name", "$file_name"]
},
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "$file_path",
"variants": [
{
"name": "Run Terminal",
"shell_cmd": "clang++ -std=c++11 -Wno-c++98-compat-pedantic %flags% -Wall \"$file\" -o \"$file_path/$file_base_name\" && xterm -e '$file_path/$file_base_name; echo && echo Press ENTER to continue && read line && exit'",
"windows": {
"shell_cmd": "clang-cl -std=c++11 -Wno-c++98-compat-pedantic %flags% /Wall \"$file\" /o \"$file_path/$file_base_name\" && start cmd /k \"$file_base_name & pause && exit\""
},
"shell": true
}
],
"input": {
"flags": "-Wno-newline-eof"
}
}
NOTE: In contrast to the UNIX-style Sublime Text 3 build system variables, i. e. $var
, this package uses DOS-style variables, i. e. %var%
. This is, because Sublime Text will try to substitute environment variables in "cmd"
and "shell_cmd"
, which results in the erasion of all unknown variables.
Installation
Clone this repository to your Sublime Text 3 Packages folder. You can find it by using the menu: Preferences > Browse Packages…
No configuration is necessary apart from using the "build_system_input"
as target for your custom build system.