Skip to content

Commit

Permalink
feat: Add improved platform support
Browse files Browse the repository at this point in the history
Added Workunit Tree
Added Submit / Compile buttons
Added pinned launch configuration
Added eclcc log file override

Fixes hpcc-systems#191
Fixes hpcc-systems#188
Fixes hpcc-systems#187
Fixes hpcc-systems#190
Fixes hpcc-systems#143
Fixes hpcc-systems#184

Signed-off-by: Gordon Smith <GordonJSmith@gmail.com>
  • Loading branch information
GordonSmith committed Sep 17, 2020
1 parent 08202af commit 1a3f243
Show file tree
Hide file tree
Showing 109 changed files with 8,275 additions and 2,139 deletions.
96 changes: 96 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
// eslint-disable-next-line no-undef
module.exports = {
root: true,
parser: "@typescript-eslint/parser",
plugins: [
"@typescript-eslint",
],
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
],
env: {
"browser": true,
"amd": true
},
globals: {
"dojo": "readonly",
"dijit": "readonly",
"dojoConfig": "readonly",
"debugConfig": "readonly",
"Promise": "readonly"
},
rules: {
"no-redeclare": "off",
"no-empty": "off",
"no-empty-pattern": "off",
"no-constant-condition": "off",
"no-case-declarations": "off",
"no-prototype-builtins": "off",
"no-unused-vars": "off",
"no-useless-escape": "off",
"no-unexpected-multiline": "off",
"no-extra-boolean-cast": "off",
"no-self-assign": "off",
"no-multiple-empty-lines": [
"error", {
max: 1
}
],

"func-call-spacing": ["error", "never"],
"space-before-function-paren": ["error", {
"anonymous": "always",
"named": "never",
"asyncArrow": "always"
}],
"comma-spacing": [
"error", {
"before": false,
"after": true
}
],

"prefer-rest-params": "off",
"prefer-spread": "off",

"semi": ["error", "always"],
"quotes": [
"error",
"double", {
"avoidEscape": true
}
],

"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-inferrable-types": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-empty-interface": "off",
"@typescript-eslint/no-this-alias": "off",
"@typescript-eslint/ban-types": [
"error",
{
"types": {
// add a custom message, AND tell the plugin how to fix it
"String": {
"message": "Use string instead",
"fixWith": "string"
},

"{}": {
"message": "Use object instead",
"fixWith": "object"
},

"object": false
}
}
],
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/no-namespace": "off",
"@typescript-eslint/no-var-require": "off"
}
};
9 changes: 5 additions & 4 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@
"runtimeExecutable": "${execPath}",
"args": [
"--disable-extensions",
"--extensionDevelopmentPath=${workspaceRoot}"
"--extensionDevelopmentPath=${workspaceRoot}",
"--enable-proposed-api"
],
"outFiles": [
"${workspaceRoot}/dist/*.js"
Expand All @@ -32,21 +33,21 @@
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/dist/debugger.js",
"stopOnEntry": false,
"args": [
"--server=4711"
],
"outFiles": [
"${workspaceRoot}/dist/*.js"
],
"stopOnEntry": false,
"sourceMaps": true,
"cwd": "${workspaceRoot}"
},
{
"name": "test.html",
"name": "webview-test",
"type": "chrome",
"request": "launch",
"url": "file:///${workspaceRoot}/test.html",
"url": "file:///${workspaceRoot}/webview-test.html",
"runtimeArgs": [
"--disable-web-security"
],
Expand Down
5 changes: 4 additions & 1 deletion .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@
"compile watch",
"bundle watch"
],
"group": "build",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": []
}
]
Expand Down
2 changes: 1 addition & 1 deletion .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

# Whitelist required files
!dist/**/*
!images/**/*
!resources/**/*
!snippets/**/*
!syntaxes/**/*

Expand Down
66 changes: 46 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,21 @@ This extension adds rich language support for [HPCC Systems](https://hpccsystems
* Client tools discovery and integration
* HPCC-Platform server support

## Version 2 Highlights

![Version 2 Highlights](resources\screenshot-v2-whatnew.jpg)

| Command | Shortcut | Description |
|---------------------------|:--------:|------------------------------------------------------------------|
|![Submit](resources/light-png/play.png) Submit | F5 | Submit ECL |
|![Compile](resources/light-png/file-binary.png) Compile | | Compile ECL |
|![My Workunits](resources/light-png/person.png) My workunits | | Toggle between "My" and "All" Workunits |
|![All Workunits](resources/light-png/organization.png) All workunits | | Toggle between "My" and "All" Workunits |
|![ECL Watch](resources/light-png/globe.png) ECL Watch | | Launch ECL Watch |
|![Switch](resources/light-png/server-process.png) Switch Platform | | Switch HPCC Platform instance |

---

## Installation

* Install Visual Studio Code.
Expand All @@ -22,25 +37,40 @@ The following ECL specific commands are available. Note: These commands will *

#### Global:

* Syntax Check all files **[shift + F7]** - _Save All + check syntax of all files._
* Syntax Clear **[ctrl + F7]** - _Clear all previously reported ECL Syntax Check results._
* Language Reference Website - _Opens the ECL language reference website in external browser._
* Terminal - _Opens ECL Client Tools Terminal Session._
| Command | Shortcut | Description |
|---------------------------|:--------:|------------------------------------------------------------------|
| Syntax Check All Files | shift + F7 | Save All + check syntax of all files. |
| Syntax Clear | ctrl + F7 | Clear all previously reported ECL Syntax Check results |
| Language Reference Website | | Opens the ECL language reference website in external browser |
| Terminal | | Opens ECL Client Tools Terminal Session |

#### Within the ECL Code Editor:

* Syntax Check **[F7]** - _Save + check syntax of current file._
* Language Reference Lookup **[shift + F1]** - _For the currently selected text, search the online ECL language reference._
| Command | Shortcut | Description |
|---------------------------|:--------:|------------------------------------------------------------------|
|![Submit](resources/light-png/play.png) Submit | F5 | Submit ECL |
|![Compile](resources/light-png/file-binary.png) Compile | | Compile ECL |
| Syntax Check | F7 | Save and check syntax of current file |
| Language Reference Lookup | shift + F1 | For the currently selected text, search the online ECL language reference |

#### Within the ECL Activity Pane:
_Right click on item_
#### Within the Workunit Tree:

* Workunit Details - _Opens ECL Watch Workunit Details for the selected Workunit._
| Command | Shortcut | Description |
|---------------------------|:--------:|------------------------------------------------------------------|
|![My Workunits](resources/light-png/person.png) My workunits | | Toggle between "My" and "All" Workunits |
|![All Workunits](resources/light-png/organization.png) All workunits | | Toggle between "My" and "All" Workunits |
|![Refresh](resources/light-png/refresh.png) Refresh | | Refresh Tree |
|![ECL Watch](resources/light-png/globe.png) ECL Watch | | Launch ECL Watch in external browser |
|![Switch](resources/light-png/server-process.png) Switch Platform | | Switch HPCC Platform instance (launch configuration) |

#### Within the Status Bar
_Click on ECL Client Tools Version_

* Select Client Tools Version: Select Client Tools Version from available options.
| Command | Shortcut | Description |
|---------------------------|:--------:|------------------------------------------------------------------|
| Launch Configuration | | Click to select launch configuration |
| Target Cluster | | Click to select target cluster |
| Pin | | Pin current launch configuration and target cluster to current document |
| Client Tools | | Click to select client tools version |

#### ECL Settings

Expand All @@ -63,18 +93,15 @@ The following Visual Studio Code settings are available for the ECL extension.
// Override eclcc auto detection.
"ecl.eclccPath": ""

// Write eclcc logfile to specified file.
"ecl.eclccLogfile": ""

// Add '-legacy' argument to eclcc.
"ecl.legacyMode": false

// Open Workunits in external browser.
"ecl.WUOpenExternal": true

// Automatically open Workunits on creation.
"ecl.WUAutoOpen": false

// Debug level logging (requires restart).
"ecl.debugLogging": false

```

#### ECL Launch Settings
Expand All @@ -88,7 +115,6 @@ Submitting ECL using VS-Code requires specifying the target environment within t
"type": "ecl",
"request": "launch",
"mode": "submit",
"workspace": "${workspaceRoot}",
"program": "${file}",
"protocol": "https",
"serverAddress": "play.hpccsystems.com",
Expand Down Expand Up @@ -137,7 +163,7 @@ The following KEL specific commands are available. Note: These commands will *
#### Within the KEL Code Editor:

* Syntax Check **[F7]** - _Save + check syntax of current file._
* Generate ECL **[Ff]** - _Save + generate ECL files._
* Generate ECL **[F5]** - _Save + generate ECL files._

#### Within the Status Bar
_Click on KEL Client Tools Version_
Expand Down
3 changes: 0 additions & 3 deletions images/dashy-edit-dark.svg

This file was deleted.

3 changes: 0 additions & 3 deletions images/dashy-edit.svg

This file was deleted.

3 changes: 0 additions & 3 deletions images/dashy-view-dark.svg

This file was deleted.

3 changes: 0 additions & 3 deletions images/dashy-view.svg

This file was deleted.

Loading

0 comments on commit 1a3f243

Please sign in to comment.