mirror of
https://github.com/kennethreitz/bake.git
synced 2026-06-05 06:46:14 +00:00
basics
This commit is contained in:
@@ -1,16 +1,17 @@
|
||||
full-install: system-install python-deps
|
||||
task: @confirm install-deps
|
||||
echo "hi, $1"
|
||||
|
||||
python-deps:
|
||||
install-deps: @skip:key=./Pipfile.lock system-deps
|
||||
pipenv install
|
||||
|
||||
python-dev-deps:
|
||||
pipenv install --dev
|
||||
system-deps: install-jq
|
||||
set -ex
|
||||
|
||||
system-install: @confirm
|
||||
brew install python pipenv
|
||||
brew install pipenv
|
||||
|
||||
pypi-upload: python-dev-deps
|
||||
pipenv run setup.py upload
|
||||
if ! brew info --installed --json | jq 'map(.name) | index( "pipenv" )'; then
|
||||
brew install pipenv
|
||||
fi
|
||||
|
||||
test:
|
||||
echo $@
|
||||
install-jq:
|
||||
brew install jq
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
.vscode/**
|
||||
.vscode-test/**
|
||||
.gitignore
|
||||
vsc-extension-quickstart.md
|
||||
@@ -0,0 +1,9 @@
|
||||
render/syntax: @test
|
||||
cat $HELLO
|
||||
npx js-yaml syntaxes/bakefile.tmLanguage.yaml > syntaxes/bakefile.tmLanguage.json
|
||||
|
||||
install/code:
|
||||
set -ex && code --install-extension kennethreitz.bake "$PWD"
|
||||
|
||||
install/system:
|
||||
yarn add -g yo generator-code
|
||||
@@ -0,0 +1,9 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to the "bake" extension will be documented in this file.
|
||||
|
||||
Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
- Initial release
|
||||
@@ -1,3 +1,65 @@
|
||||
## Development
|
||||
# bake README
|
||||
|
||||
$ npm install -g yo generator-code
|
||||
This is the README for your extension "bake". After writing up a brief description, we recommend including the following sections.
|
||||
|
||||
## Features
|
||||
|
||||
Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file.
|
||||
|
||||
For example if there is an image subfolder under your extension project workspace:
|
||||
|
||||
\!\[feature X\]\(images/feature-x.png\)
|
||||
|
||||
> Tip: Many popular extensions utilize animations. This is an excellent way to show off your extension! We recommend short, focused animations that are easy to follow.
|
||||
|
||||
## Requirements
|
||||
|
||||
If you have any requirements or dependencies, add a section describing those and how to install and configure them.
|
||||
|
||||
## Extension Settings
|
||||
|
||||
Include if your extension adds any VS Code settings through the `contributes.configuration` extension point.
|
||||
|
||||
For example:
|
||||
|
||||
This extension contributes the following settings:
|
||||
|
||||
* `myExtension.enable`: enable/disable this extension
|
||||
* `myExtension.thing`: set to `blah` to do something
|
||||
|
||||
## Known Issues
|
||||
|
||||
Calling out known issues can help limit users opening duplicate issues against your extension.
|
||||
|
||||
## Release Notes
|
||||
|
||||
Users appreciate release notes as you update your extension.
|
||||
|
||||
### 1.0.0
|
||||
|
||||
Initial release of ...
|
||||
|
||||
### 1.0.1
|
||||
|
||||
Fixed issue #.
|
||||
|
||||
### 1.1.0
|
||||
|
||||
Added features X, Y, and Z.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------
|
||||
|
||||
## Working with Markdown
|
||||
|
||||
**Note:** You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts:
|
||||
|
||||
* Split the editor (`Cmd+\` on macOS or `Ctrl+\` on Windows and Linux)
|
||||
* Toggle preview (`Shift+CMD+V` on macOS or `Shift+Ctrl+V` on Windows and Linux)
|
||||
* Press `Ctrl+Space` (Windows, Linux) or `Cmd+Space` (macOS) to see a list of Markdown snippets
|
||||
|
||||
### For more information
|
||||
|
||||
* [Visual Studio Code's Markdown Support](http://code.visualstudio.com/docs/languages/markdown)
|
||||
* [Markdown Syntax Reference](https://help.github.com/articles/markdown-basics/)
|
||||
|
||||
**Enjoy!**
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"comments": {
|
||||
// symbol used for single line comment. Remove this entry if your language does not support line comments
|
||||
"lineComment": "#"
|
||||
},
|
||||
// symbols used as brackets
|
||||
"brackets": [
|
||||
[
|
||||
"{",
|
||||
"}"
|
||||
],
|
||||
[
|
||||
"[",
|
||||
"]"
|
||||
],
|
||||
[
|
||||
"(",
|
||||
")"
|
||||
]
|
||||
],
|
||||
// symbols that are auto closed when typing
|
||||
"autoClosingPairs": [
|
||||
[
|
||||
"{",
|
||||
"}"
|
||||
],
|
||||
[
|
||||
"[",
|
||||
"]"
|
||||
],
|
||||
[
|
||||
"(",
|
||||
")"
|
||||
],
|
||||
[
|
||||
"\"",
|
||||
"\""
|
||||
],
|
||||
[
|
||||
"'",
|
||||
"'"
|
||||
]
|
||||
],
|
||||
// symbols that that can be used to surround a selection
|
||||
"surroundingPairs": [
|
||||
[
|
||||
"{",
|
||||
"}"
|
||||
],
|
||||
[
|
||||
"[",
|
||||
"]"
|
||||
],
|
||||
[
|
||||
"(",
|
||||
")"
|
||||
],
|
||||
[
|
||||
"\"",
|
||||
"\""
|
||||
],
|
||||
[
|
||||
"'",
|
||||
"'"
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"name": "kennethreitz.bake",
|
||||
"displayName": "bake",
|
||||
"description": "Hilighting for Bake: a strangely familiar task runner.",
|
||||
"version": "0.0.1",
|
||||
"engines": {
|
||||
"vscode": "^1.38.0"
|
||||
},
|
||||
"categories": [
|
||||
"Programming Languages"
|
||||
],
|
||||
"contributes": {
|
||||
"languages": [
|
||||
{
|
||||
"id": "bakefile",
|
||||
"aliases": [
|
||||
"Bakefile",
|
||||
"bakefile"
|
||||
],
|
||||
"extensions": [
|
||||
"Bakefile"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"language": "bakefile",
|
||||
"scopeName": "source.bakefile",
|
||||
"path": "./syntaxes/Bakefile.syntax.json",
|
||||
"embeddedLanguages": {
|
||||
"task": "source.shell"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,358 @@
|
||||
{
|
||||
"information_for_contributors": [
|
||||
"This file has been converted from https://github.com/fadeevab/make.tmbundle/blob/master/Syntaxes/bakefile.plist",
|
||||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/fadeevab/make.tmbundle/commit/fa280d2f20b0b63dc7c11b6001e9257e2c67f826",
|
||||
"name": "bakefile",
|
||||
"scopeName": "source.bakefile",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"include": "#target"
|
||||
},
|
||||
{
|
||||
"include": "#task"
|
||||
},
|
||||
{
|
||||
"include": "#directives"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"comment": {
|
||||
"begin": "(^[ \\t]+)?(?=#)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.whitespace.comment.leading.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "(?!\\G)",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "#",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.comment.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "(?=[^\\\\])$",
|
||||
"name": "comment.line.number-sign.bakefile",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "\\\\\\n",
|
||||
"name": "constant.character.escape.continuation.bakefile"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"directives": {
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "^[ ]*([s\\-]?include)\\b",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "keyword.control.include.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "^",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"match": "%",
|
||||
"name": "constant.other.placeholder.bakefile"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "^[ ]*(vpath)\\b",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "keyword.control.vpath.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "^",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"match": "%",
|
||||
"name": "constant.other.placeholder.bakefile"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "^\\s*(?:(override)\\s*)?(define)\\s*([^\\s]+)\\s*(=|\\?=|:=|\\+=)?(?=\\s)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.control.override.bakefile"
|
||||
},
|
||||
"2": {
|
||||
"name": "keyword.control.define.bakefile"
|
||||
},
|
||||
"3": {
|
||||
"name": "variable.other.bakefile"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.separator.key-value.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "^\\s*(endef)\\b",
|
||||
"name": "meta.scope.conditional.bakefile",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\\G(?!\\n)",
|
||||
"end": "^",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"include": "#variables"
|
||||
},
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"include": "#directives"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "^[ ]*(export)\\b",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "keyword.control.$1.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "^",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"include": "#variable-assignment"
|
||||
},
|
||||
{
|
||||
"match": "[^\\s]+",
|
||||
"name": "variable.other.bakefile"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "^[ ]*(override|private)\\b",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "keyword.control.$1.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "^",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"include": "#variable-assignment"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "^[ ]*(unexport|undefine)\\b",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "keyword.control.$1.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "^",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"match": "[^\\s]+",
|
||||
"name": "variable.other.bakefile"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "^\\s*(ifdef|ifndef)\\s*([^\\s]+)(?=\\s)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.control.$1.bakefile"
|
||||
},
|
||||
"2": {
|
||||
"name": "variable.other.bakefile"
|
||||
},
|
||||
"3": {
|
||||
"name": "punctuation.separator.key-value.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "^\\s*(endif)\\b",
|
||||
"name": "meta.scope.conditional.bakefile",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\\G(?!\\n)",
|
||||
"end": "^",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "^\\s*(ifeq|ifneq)(?=\\s)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.control.$1.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "^\\s*(endif)\\b",
|
||||
"name": "meta.scope.conditional.bakefile",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\\G",
|
||||
"end": "^",
|
||||
"name": "meta.scope.condition.bakefile",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#variables"
|
||||
},
|
||||
{
|
||||
"include": "#comment"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"begin": "^\\s*else(?=\\s)",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "keyword.control.else.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "^"
|
||||
},
|
||||
{
|
||||
"include": "$self"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"target": {
|
||||
"begin": "^(?!\\t)([^:]*)(:)(?!\\=)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"patterns": [
|
||||
{
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "support.function.target.$1.bakefile"
|
||||
}
|
||||
},
|
||||
"match": "^\\s*(\\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX))\\s*$"
|
||||
},
|
||||
{
|
||||
"begin": "(?=\\S)",
|
||||
"end": "(?=\\s|$)",
|
||||
"name": "entity.name.function.target.bakefile",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#variables"
|
||||
},
|
||||
{
|
||||
"match": "%",
|
||||
"name": "constant.other.placeholder.bakefile"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.separator.key-value.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "[^\\\\]$",
|
||||
"name": "meta.scope.target.bakefile",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\\G",
|
||||
"end": "(?=[^\\\\])$",
|
||||
"name": "meta.scope.prerequisites.bakefile",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "\\\\\\n",
|
||||
"name": "constant.character.escape.continuation.bakefile"
|
||||
},
|
||||
{
|
||||
"match": "%|\\*",
|
||||
"name": "constant.other.placeholder.bakefile"
|
||||
},
|
||||
{
|
||||
"include": "#comment"
|
||||
},
|
||||
{
|
||||
"include": "#variables"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"task": {
|
||||
"begin": "^(\\t| {4})([+\\-@]*)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "keyword.control.$1.bakefile"
|
||||
}
|
||||
},
|
||||
"end": "[^\\\\]$",
|
||||
"name": "task",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "\\\\\\n",
|
||||
"name": "constant.character.escape.continuation.bakefile"
|
||||
},
|
||||
{
|
||||
"include": "#variables"
|
||||
}
|
||||
]
|
||||
},
|
||||
"interpolation": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#parentheses-interpolation"
|
||||
}
|
||||
]
|
||||
},
|
||||
"parentheses-interpolation": {
|
||||
"begin": "\\(",
|
||||
"end": "\\)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#interpolation"
|
||||
}
|
||||
]
|
||||
},
|
||||
"braces-interpolation": {
|
||||
"begin": "{",
|
||||
"end": "}",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#interpolation"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
argparse@^1.0.7:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
||||
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
|
||||
dependencies:
|
||||
sprintf-js "~1.0.2"
|
||||
|
||||
esprima@^4.0.0:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
|
||||
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
|
||||
|
||||
js-yaml@^3.13.1:
|
||||
version "3.13.1"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
|
||||
integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
|
||||
dependencies:
|
||||
argparse "^1.0.7"
|
||||
esprima "^4.0.0"
|
||||
|
||||
sprintf-js@~1.0.2:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||
Reference in New Issue
Block a user