diff --git a/CHANGELOG.md b/CHANGELOG.md index bc3362c..ebad3d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ [![Share via Facebook](https://raw.githubusercontent.com/mkloubert/vscode-deploy-reloaded/master/img/share/Facebook.png)](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3Dmkloubert.vscode-deploy-reloaded"e=vscode-deploy-reloaded) [![Share via Twitter](https://raw.githubusercontent.com/mkloubert/vscode-deploy-reloaded/master/img/share/Twitter.png)](https://twitter.com/intent/tweet?source=https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3Dmkloubert.vscode-deploy-reloaded&text=vscode-deploy-reloaded:%20https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3Dmkloubert.vscode-deploy-reloaded&via=mjkloubert) [![Share via Google+](https://raw.githubusercontent.com/mkloubert/vscode-deploy-reloaded/master/img/share/Google+.png)](https://plus.google.com/share?url=https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3Dmkloubert.vscode-deploy-reloaded) [![Share via Pinterest](https://raw.githubusercontent.com/mkloubert/vscode-deploy-reloaded/master/img/share/Pinterest.png)](https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3Dmkloubert.vscode-deploy-reloaded&media=https://raw.githubusercontent.com/mkloubert/vscode-deploy-reloaded/master/img/demo1.gif&description=Recoded%20version%20of%20Visual%20Studio%20Code%20extension%20%27vs-deploy%27%2C%20which%20provides%20commands%20to%20deploy%20files%20to%20one%20or%20more%20destinations.) [![Share via Reddit](https://raw.githubusercontent.com/mkloubert/vscode-deploy-reloaded/master/img/share/Reddit.png)](https://www.reddit.com/submit?url=https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3Dmkloubert.vscode-deploy-reloaded&title=vscode-deploy-reloaded) [![Share via LinkedIn](https://raw.githubusercontent.com/mkloubert/vscode-deploy-reloaded/master/img/share/LinkedIn.png)](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3Dmkloubert.vscode-deploy-reloaded&title=vscode-deploy-reloaded&summary=Recoded%20version%20of%20Visual%20Studio%20Code%20extension%20%27vs-deploy%27%2C%20which%20provides%20commands%20to%20deploy%20files%20to%20one%20or%20more%20destinations.&source=https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3Dmkloubert.vscode-deploy-reloaded) [![Share via Wordpress](https://raw.githubusercontent.com/mkloubert/vscode-deploy-reloaded/master/img/share/Wordpress.png)](https://wordpress.com/press-this.php?u=https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3Dmkloubert.vscode-deploy-reloaded"e=vscode-deploy-reloaded&s=Recoded%20version%20of%20Visual%20Studio%20Code%20extension%20%27vs-deploy%27%2C%20which%20provides%20commands%20to%20deploy%20files%20to%20one%20or%20more%20destinations.&i=https://raw.githubusercontent.com/mkloubert/vscode-deploy-reloaded/master/img/demo1.gif) [![Share via Email](https://raw.githubusercontent.com/mkloubert/vscode-deploy-reloaded/master/img/share/Email.png)](mailto:?subject=vscode-deploy-reloaded&body=Recoded%20version%20of%20Visual%20Studio%20Code%20extension%20'vs-deploy'%2C%20which%20provides%20commands%20to%20deploy%20files%20to%20one%20or%20more%20destinations.:%20https%3A%2F%2Fmarketplace.visualstudio.com%2Fitems%3FitemName%3Dmkloubert.vscode-deploy-reloaded) -## 0.11.0 (January 1st, 2018; SFTP and values) +## 0.11.1 (January 1st, 2018; SFTP and values) * can get [placeholders](https://github.com/mkloubert/vscode-deploy-reloaded/wiki/values) from files and environment variables now * fixed `tryKeyboard` support in [SFTP targets](https://github.com/mkloubert/vscode-deploy-reloaded/wiki/target_sftp) diff --git a/package-lock.json b/package-lock.json index 85195e5..ca21291 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "vscode-deploy-reloaded", - "version": "0.11.0", + "version": "0.11.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 80930e2..680206a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "vscode-deploy-reloaded", "displayName": "Deploy (Reloaded)", "description": "Deploys files of a workspace to a destination.", - "version": "0.11.0", + "version": "0.11.1", "publisher": "mkloubert", "engines": { "vscode": "^1.19.0" diff --git a/src/values.ts b/src/values.ts index 4e278ed..4ce84ef 100644 --- a/src/values.ts +++ b/src/values.ts @@ -94,6 +94,11 @@ export interface LoadFromItemsOptions { * The optional scope directory provider. */ readonly directoryScopeProvider?: DirectoryScopeProvider; + /** + * An optional function with provides "more" values + * which are added at the beginning. + */ + readonly prefixValuesProvider?: ValuesProvider; } /** @@ -667,11 +672,18 @@ export function loadFromItems(items: WithValueItems, opts?: LoadFromItemsOptions let conditialFilter = opts.conditialFilter; let directoryScopeProvider = opts.directoryScopeProvider; + + let prefixValuesProvider = opts.prefixValuesProvider; + if (!prefixValuesProvider) { + prefixValuesProvider = () => []; + } const VALUES: Value[] = []; const CREATE_OTHERS_PROVIDER = (thisValue: Value): ValuesProvider => { - return () => VALUES.filter(v => v !== thisValue); + return () => deploy_helpers.asArray( prefixValuesProvider() ).concat( + VALUES + ).filter(v => v !== thisValue); }; const APPEND_VALUE = (newValue: ValueBase) => { diff --git a/src/workspaces.ts b/src/workspaces.ts index efc8437..69a4c9d 100644 --- a/src/workspaces.ts +++ b/src/workspaces.ts @@ -1417,6 +1417,8 @@ export class Workspace extends deploy_objects.DisposableBase implements deploy_c .trace(e, 'workspaces.Workspace.getValues(1)'); } + const WORKSPACE_VALUES = values.map(v => v); + values = values.concat( deploy_values.loadFromItems(CFG, { conditialFilter: (i, o) => { @@ -1434,7 +1436,7 @@ export class Workspace extends deploy_objects.DisposableBase implements deploy_c i: i, ws: ME, }, - values: values.concat(o), + values: WORKSPACE_VALUES.concat(o), }); } @@ -1454,6 +1456,10 @@ export class Workspace extends deploy_objects.DisposableBase implements deploy_c directoryScopeProvider: () => { return ME.getSettingScopes(); }, + + prefixValuesProvider: () => { + return WORKSPACE_VALUES; + }, }) );