Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KornelH/danielfinke integration #154

Merged
merged 20 commits into from
Jun 17, 2020
Merged

KornelH/danielfinke integration #154

merged 20 commits into from
Jun 17, 2020

Conversation

pgourlain
Copy link
Owner

@pgourlain pgourlain commented Jun 17, 2020

  • Improve auto indentation:
    • Continue comments if break line in the middle except module documentation
      (triple %) that always continue
    • Half-indent guards
    • Indent after clause starts, inside tuples, list and parameter lists
    • Outdent after clause ends
  • Fix syntax highlight:
    • Allow comment between '}' and ').' in record definitions
    • Allow variables as module or function names in implicit function
      expressions
    • Distinguish function type in type specification and explicit function
      expression
  • Setting erlang.erlangPath now can accept workspace relative path
  • Respect setting search.exclude when looking for the source file of an erlang
    module. With this setting source files duplicated by build system can be
    excluded from for example "Go to definition" and other code navigation.

Use updates from Daniel Finke's
vscode_erlang repository:

  • Remove Erlang binaries and compile Erlang counterpart of the extension
    on-the-fly at the first usage per Visual Studio Code instance
  • Fix syntax highlight: comma is not needed in -define on the same line as
    macro name
  • Remove pgoconsoloe and use erlang output channel only

danielfinke and others added 20 commits December 6, 2019 05:53
- no longer using ErlangShellDebugger call to erlc for LSP compilation
- GenericShell support raw stdout/stderr output thru `shellOutput`
- first steps at making GenericShell truly generic
- created RebarShell as subclass of GenericShell
- RebarRunner uses RebarShell + `shellOutput` instead of duplicating
  code
- erlangbridge path is now based on the rebar3 compilation destination
  (_build/default/lib)
- set tsconfig compiler level to es7 (for some array methods in
  RebarShell)
Use updates from Daniel Finke's vscode_erlang repository:
https://github.com/danielfinke/vscode_erlang
* Remove Erlang binaries and compile Erlang counterpart of the extension
  on-the-fly at the first usage per Visual Studio Code instance
* Fix syntax highlight: comma is not needed in `-define` on the same
  line as macro name
* Remove `pgoconsoloe` and use `erlang` output channel only
- Continue comments if break line in the middle except module
  documentation (triple `%`) that always continue
- Half-indent guards
- Indent after clause starts, inside tuples, list and parameter lists
- Outdent after clause ends
Improve language syntax file:
- Allow comment between '}' and ').' in record definitions
- Allow variables as module or function names in implicit function
  expressions
- Distinguish function type in type specification and explicit function
  expression
- Assign file extensions to Erlang mode: escript, yrl, xrl

New files:
- Syntax highlight test modules
- A short description how to work with the extension and specially with
  language files
Erlang/OTP may not be installed on the host but prepared in a project
specific directory. This directory could depend on where the workspace
(e.g. the git repository) is.
Accept workspace relative path for erlang.erlangPath and resolve it
based on the workspace root directory.

Check if erlang.erlangPath is a Windows absolute path and discard it on
non-Windows systems. For example in remote development when user
settings has a Windows path but the remote host is Linux.
Some build systems duplicate source code one way or another.
(For example copy or link them to a special build directory.)
Visual Studio Code provides configuration option 'search.exclude' to
exclude files or directories from searches and keep search results
clean.
Same issue occurres when looking for the source file of an Erlang
module, for example at "Go to definition" or other code navigation, we
don't want to navigate to source files duplicated by build system.
Source files that are excluded by setting 'search.exclude' are not the
original source files therefore ignore them when looking for source.
@pgourlain pgourlain merged commit 921bb3e into pgourlain:master Jun 17, 2020
vladdu pushed a commit to vladdu/vscode_erlang that referenced this pull request Jan 26, 2021
* chmod +x rebar3

* Remove erlangbridge.app.src (unused?)

* Don't require comma separator in -define on same line as macro name

* Update package-lock.json

* Move to VS Code Tasks 2.0 (use builtin tsc)

* Do not need ebin directory under apps/erlangbridge

* Remove old language breakpoint support defn from package.json

* Update output path for "Launch Extension"

* rm pgoconsole output channel, just use erlang output channel

* Remove redundant clear of RebarRunner diagnosticCollection

* on-the-fly LSP compilation now done by rebar3

- no longer using ErlangShellDebugger call to erlc for LSP compilation
- GenericShell support raw stdout/stderr output thru `shellOutput`
- first steps at making GenericShell truly generic
- created RebarShell as subclass of GenericShell
- RebarRunner uses RebarShell + `shellOutput` instead of duplicating
  code
- erlangbridge path is now based on the rebar3 compilation destination
  (_build/default/lib)
- set tsconfig compiler level to es7 (for some array methods in
  RebarShell)

* Use tsc: build instead of watch to fix hang after debug session ends

* Use updates from Daniel Finke

Use updates from Daniel Finke's vscode_erlang repository:
https://github.com/danielfinke/vscode_erlang
* Remove Erlang binaries and compile Erlang counterpart of the extension
  on-the-fly at the first usage per Visual Studio Code instance
* Fix syntax highlight: comma is not needed in `-define` on the same
  line as macro name
* Remove `pgoconsoloe` and use `erlang` output channel only

* Fix MarkDown warnings

* Update required Erlang/OTP version

* Update auto indentation

- Continue comments if break line in the middle except module
  documentation (triple `%`) that always continue
- Half-indent guards
- Indent after clause starts, inside tuples, list and parameter lists
- Outdent after clause ends

* Improve syntax highlight

Improve language syntax file:
- Allow comment between '}' and ').' in record definitions
- Allow variables as module or function names in implicit function
  expressions
- Distinguish function type in type specification and explicit function
  expression
- Assign file extensions to Erlang mode: escript, yrl, xrl

New files:
- Syntax highlight test modules
- A short description how to work with the extension and specially with
  language files

* Accept workspace relative path for erlangPath

Erlang/OTP may not be installed on the host but prepared in a project
specific directory. This directory could depend on where the workspace
(e.g. the git repository) is.
Accept workspace relative path for erlang.erlangPath and resolve it
based on the workspace root directory.

Check if erlang.erlangPath is a Windows absolute path and discard it on
non-Windows systems. For example in remote development when user
settings has a Windows path but the remote host is Linux.

* Use search.exclude to find the source of a module

Some build systems duplicate source code one way or another.
(For example copy or link them to a special build directory.)
Visual Studio Code provides configuration option 'search.exclude' to
exclude files or directories from searches and keep search results
clean.
Same issue occurres when looking for the source file of an Erlang
module, for example at "Go to definition" or other code navigation, we
don't want to navigate to source files duplicated by build system.
Source files that are excluded by setting 'search.exclude' are not the
original source files therefore ignore them when looking for source.

* Version 0.6.1

Co-authored-by: Daniel Finke <danielfinke2011@gmail.com>
Co-authored-by: Kornel Horvath <kornel.horvath.p.i@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants