Skip to content

Commit

Permalink
V1.0.0 (#35)
Browse files Browse the repository at this point in the history
release 1.0.0
  • Loading branch information
ezequielgandolfi committed Aug 19, 2020
1 parent 57ebbe0 commit 90565a0
Show file tree
Hide file tree
Showing 60 changed files with 2,599 additions and 2,644 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Change Log

## 1.0.0
- Brand new source code (seriously... almost everything...)
- Better code completion details
- Includes file sugestion on typing `{`
- Method signature provider

## 0.6.0

### Breaking Changes
Expand Down
98 changes: 35 additions & 63 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ OpenEdge ABL Extension for Visual Studio Code

## Features

- Auto-complete (tables, fields, methods)
- Source navigation
- Check syntax
- Compile
- Run
- Deploy
- Source formatting
- Syntax highlighting
- Auto-complete (tables, fields, methods, variables, parameters)
- Source navigation (ctrl+click)
- Check syntax, compile, run
- Deploy (source / r-code)
- Source formatting
- Hover information
- Include files suggestion
- Code snippets

### Auto-complete
Expand All @@ -22,69 +22,50 @@ OpenEdge ABL Extension for Visual Studio Code
> *Navigate throught includes, declarations*
![navigation](resources/readme/navigation.gif)

### Check syntax, Compile, Deploy, Run
- Check syntax `Shift+F2`
- Compile (and deploy) `Alt+F1`
- Compile (and deploy) with options `Alt+F3`
- Deploy without compile `Alt+F2`
- Compile and run `F2`
> *Deployment options are located in configuration file*
### Check syntax, Compile, Run, Deploy
- OpenEdge integration for check syntax, compile and run commands
- Configurable deployment options

> Check **Shortcut Keys** section
> Deployment options are located in configuration file
### Source formatting
- Available commands:
- `ABL: Format - Keywords - Upper Case`
- `ABL: Format - Keywords - Lower Case`
- `ABL: Format - Trim Right`

### Hover information
- Provides information when mouse hovers an element (table, field, variable, etc)

### Shortcut Keys
- `Alt+F1` Compile + deploy
- `Alt+F3` Compile with options (xref, debug-list, xcode, etc) + deploy
- `Alt+F2` Deploy without compile (only source file)
- `Shift+F2` Check syntax
- `F2` Run

### Other features

#### Code folding
- Uses `//#region` and `//#endregion` code folding - same as TypeScript

## What's new

### 1.0.0
- Better code completion details
- Includes file sugestion on typing `{`
- Brand new source code (seriously... almost everything...)

### 0.6.0
- New commands for source formatting
- ABL: Format - Keywords - Upper Case
- ABL: Format - Keywords - Lower Case
- ABL: Format - Trim Right

### 0.5.3
- Fix: Status Bar Errors

### 0.5.2
- Fix: Command Palette Visibility
- Fix: Status Bar Visibility
- Fix: Read Dictionaty Structure

### 0.5.1
- Fix: Deployment for .CLS files
- Fix: Command Read Dictionary Struture activation
- Fix: Running programs outside workspace
- Fix: Buffer snippets adjustment
- Fix: Compilation status bar
- Fix: Source parser adjustments

### 0.5.0
- Snippet fields from database for temp-table "like" db table
- Mapping for "buffer" type
- Autocomplete fields
- Hover feature
- Go to definition

### 0.4.0
- New Symbol provider for breadcrumbs
- Improved definition and hover providers

### 0.3.4
- Adjustment in "Read dictionary structure" for multi-database

### 0.3.0
- Shortcut do method start line (Ctrl+Up)
- Grammar file adjustment for class type method parameters
- Source navigation to temp-table definition when received as method parameter

See [CHANGELOG](CHANGELOG.md) for more information.

## Requirements

- OpenEdge Progress 11
- OpenEdge Progress 11+

## Usage
- Extension is activated for extensions: .i .p .w .cls
Expand All @@ -111,12 +92,6 @@ See [CHANGELOG](CHANGELOG.md) for more information.
#### ABL: Compile with Options (Alt+F3)
> Compile the current file with additional options (Preprocess, X-Ref, etc)
### Other features

#### Format source code

- Trim: *remove whitespaces from the end of the lines*

## Extension Settings

Create a file named ".openedge-zext.json" in root path of the workspace.
Expand Down Expand Up @@ -155,7 +130,6 @@ Create a file named ".openedge-zext.json" in root path of the workspace.
- `dlcPath` is optional, and overwrite DLC enviorenment variable
- `dbDictionary` are the logical names of database files for the auto-complete option (command: ABL Read Dictionary Structure)
- `deployment` are actions from compile/deploy commands (Alt+F1, Alt+F2 and Alt+F3)
- `format` are formatter options
- Default values:
- `proPath`: workspaceRoot
- `workingDirectory`: folder of active source file
Expand All @@ -165,9 +139,7 @@ Create a file named ".openedge-zext.json" in root path of the workspace.
Visit [Issues page on GitHub](https://github.com/ezequielgandolfi/openedge-zext/issues) to report any problem or submit an enhancement.

## Greetings
Inspired by ZaphyrVonGenevese (https://github.com/ZaphyrVonGenevese/vscode-abl) and ChrisCamicas (https://github.com/chriscamicas/vscode-abl) work.
Grammar file based on Christophe Camicas' project (https://github.com/chriscamicas/abl-tmlanguage.git)

## License
Licensed under the [Apache-2.0](LICENSE) License.

> Grammar file based on Christophe Camicas' (https://github.com/chriscamicas/abl-tmlanguage.git)
9 changes: 5 additions & 4 deletions abl-src/dict-dump-exec.p
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,12 @@ def buffer dbField for dictdb._field.
def buffer dbIndex for dictdb._index.
def buffer dbIndexField for dictdb._index-field.

for each dbFile:
for each dbFile
where not dbFile._hidden:

oTable = new JsonObject().
oTable:add("label", dbFile._file-name).
oTable:add("kind", 5). /*Variable*/
// oTable:add("kind", 5). /*Variable*/
oTable:add("detail", dbFile._Desc).
aJsonTable:add(oTable).

Expand All @@ -34,7 +35,7 @@ for each dbFile:
where dbField._file-recid = recid(dbFile):
oField = new JsonObject().
oField:add("label", dbField._field-name).
oField:add("kind", 4). /*Field*/
// oField:add("kind", 4). /*Field*/
oField:add("detail", dbField._Desc).
oField:add("dataType", dbField._data-type).
oField:add("mandatory", dbField._mandatory).
Expand All @@ -52,7 +53,7 @@ for each dbFile:

oIndex = new JsonObject().
oIndex:add("label", dbIndex._index-name).
oIndex:add("kind", 14). /*Snippet*/
// oIndex:add("kind", 14). /*Snippet*/
oIndex:add("detail", dbIndex._Desc).
oIndex:add("unique", dbIndex._unique).
oIndex:add("primary", isPK).
Expand Down
36 changes: 31 additions & 5 deletions grammar/abl.tmLanguage.json

Large diffs are not rendered by default.

33 changes: 19 additions & 14 deletions language-configuration.json
Original file line number Diff line number Diff line change
@@ -1,33 +1,38 @@
{
"comments": {
// symbol used for single line comment. Remove this entry if your language does not support line comments
"lineComment": "//",
// symbols used for start and end a block comment. Remove this entry if your language does not support block comments
"blockComment": [ "/*", "*/" ]
"blockComment": ["/*", "*/"]
},
// symbols used as brackets
"brackets": [
["{", "}"],
["[", "]"],
[":", "end"],
["(", ")"]
],
// symbols that are auto closed when typing
"autoClosingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""],
["'", "'"],
["/*", "*/"]
{ "open": "{", "close": "}" },
{ "open": "[", "close": "]" },
{ "open": "(", "close": ")" },
{ "open": "'", "close": "'", "notIn": ["string", "comment"] },
{ "open": "\"", "close": "\"", "notIn": ["string", "comment"] },
{ "open": "/*", "close": " */", "notIn": ["string"] }
],
// symbols that that can be used to surround a selection
"surroundingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""],
["'", "'"],
["/*", "*/"]
]
],
"indentationRules": {
"increaseIndentPattern": "^.+:\\s*$",
"decreaseIndentPattern": "^\\s*end(\\.|\\s+.*\\.)$"
},
"folding": {
// folding markers like typescript #region / #endregion
"markers": {
"start": "^\\s*//\\s*#?region\\b",
"end": "^\\s*//\\s*#?endregion\\b"
}
},
}
30 changes: 26 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 16 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "openedge-zext",
"displayName": "OpenEdge ABL (Progress 4GL)",
"description": "OpenEdge ABL Extension for VSCode",
"version": "0.6.0",
"version": "1.0.0",
"publisher": "ezequielgandolfi",
"author": "Ezequiel Gandolfi",
"license": "Apache-2.0",
Expand Down Expand Up @@ -109,6 +109,11 @@
"command": "abl.format.trimRight",
"title": "ABL: Format - Trim Right",
"description": "Trim right spaces from each line"
},
{
"command": "abl.terminal.open",
"title": "ABL: Command Terminal",
"description": "Open an OpenEdge-ZExt command terminal"
}
],
"menus": {
Expand Down Expand Up @@ -151,6 +156,9 @@
{
"command": "abl.format.trimRight",
"when": "editorLangId == 'abl'"
},
{
"command": "abl.terminal.open"
}
]
},
Expand Down Expand Up @@ -221,12 +229,17 @@
]
},
"scripts": {
"clear": "del .\\out\\* /S /Q 2>NUL && rmdir /S /Q .\\out 2>NUL || exit 0",
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"build": "vsce package"
"build": "npm run clear && vsce package"
},
"dependencies": {
"@oe-zext/database": "1.0.2",
"@oe-zext/source": "1.0.7",
"@oe-zext/types": "1.0.4"
},
"dependencies": {},
"devDependencies": {
"@types/node": "14.0.14",
"@types/vscode": "1.46.0",
Expand Down
16 changes: 0 additions & 16 deletions schemas/openedge-zext.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -107,22 +107,6 @@
}
}
}
},
"format": {
"id": "/properties/forpat",
"description": "Formatter properties",
"type": "object",
"properties": {
"trim": {
"id": "/properties/format/trim",
"description": "Trim options",
"type": "string",
"enum": [
"none",
"right"
]
}
}
}
},
"type": "object"
Expand Down
Loading

0 comments on commit 90565a0

Please sign in to comment.