Tags:
- 💥 [Breaking Change]
- 👓 [Spec Compliance]
- 🚀 [New Feature]
- 🐛 [Bug Fix]
- 📝 [Documentation]
- 🏠 [Internal]
- 💅 [Polish]
- Fix finding the ReScript bin for even more kinds of setups.
- Document the process of finding the ReScript bin in README.
- Fix formatting not preferring the locally installed formatter (if available), which made formatting potentially different between formatting via
rescript format
and the extension. - Fix finding the ReScript bin in monorepos
- Add command: ReScript: Restart Language Server
- Extend integration with reanalyze for code analysis. Support both
dce
andexception
analysis which can be configured to e.g. both run by adding{"reanalyze": {"analysis": ["dce", "exception"]} }
inbsconfig.json
. - Add configuration option for suppressing the "Do you want to start a build?" prompt.
- Add configuration option for autostarting the Code Analyzer.
- Report syntax errors as you type.
- Fix issue with autocompletion for constructors in switch statements.
- Fix issue with autocompletion inside template expressions.
- Fix handling of local opens.
- Fix extension crash when renaming a file.
- Fix issue where the server would crash on genType's errors.
- Fix issue where the server would crash if the project contains an OCaml file with a syntax error.
- Fix issue where
@inline
was not suported by the command to generate an interface file.
- Add hover information with links to documentation for decorators.
- Sync with latest parser/printer.
- Support paths to rescript executables in arm64 architectures.
- Drop support for
bs-patform
. Onlyrescript
supported.
- Fix issue where using paths of the form
./something
would show multiple copies of the same file in vscode. - When hovering on a field access, show the instantiated type of the field.
- Support autocomplete for objects from another module
M.x[...
. - Fix command for creating interface files when the project uses namespaces.
- Added command
ReScript: Open the compiled JS file for this implementation file.
. - Use semantic syntax highlighting (#367).
- Report "Fatal error" when it happens in the compiler log (e.g. a make function with type annotation) and don't crash the extension.
- Fix issue in functions the form "~foo as name" where the location would only cover "ame".
- Extend the command to create an interface file, to support components and ReScript decorators used in bindings.
- Enable formatting files without needing the file to be in an actual ReScript project.
- New feature: Show Outline which was previously disabled.
- Add command to quickly switch between implementation and interface file.
- Support hover on JSX props and labelled arguments.
- Fix issue with highlighting of interpolation strings (those with backticks) introduced in release 1.2.0.
- Fix crash when the project contains OCaml files that have warnings.
- Fix crash on hover when a dependency contains a type with functor application. This is not expressible in ReScript syntax, but can appear in a dependent OCaml package and be pulled in for processing by the extension.
- Remove obsolete
@bs
snippets
Features:
- Add autocompletion for object access of the form
foo["x"]
andfoo["x"]["y"]["z"]
. - Support autocomplete of records for variables defined in other files.
- Improve autocomplete when several values have the same name, with a heuristic to approximate the correct scope.
- Add a "Dead Code Analysis" mode that will highlight globally dead values, redundant optional arguments, dead modules, dead types (records and variants) (#334)
Fixes:
- Fix issue in JSX autocomplete when the component is declared external.
- Fix jump-to-definition for uncurried calls.
- Fix issue where values for autocomplete were pulled from implementations instead of interfaces.
- Fix issue with autocomplete then punned props are used in JSX. E.g.
<M foo ...>
. - Fix issue with JSX autocompletion not working after
foo=#variant
. - Fix issue in JSX autocompletion where the
key
label would always appear. - Fix issue in record field autocomplete not working with type aliases.
- Fix issue where autocomplete for local values would not work in the presence of
@react.component
annotations. - Fix issue where the server would crash on large output produced by the binary command.
- Fix issue where the server would crash when a file has a self cycle.
Features:
- Find references to files as modules.
- Autocomplete: skip inline comments to decide if a labeled argument was already supplied.
- Rename: support file rename when renaming a module name.
- Rename: use renameProvider to give a warning when it's not a symbol that can be renamed.
- Jump to definition: support jumping to type definition.
- Jump to definition: jump to the
res
file when bothres
andresi
are present. - Restore creation of interface files (fully supported from compiler 9.1.3 onwards).
Features:
- Rename has landed! Works across-files!
- More autocomplete improvements.
- Wider Linux support.
This update contains lots of autocomplete, hover and jump-to-definition improvements. We'll list only a few below.
Fixes:
- Jump-to-definition on some Windows paths.
->
autocomplete overruled.
.- Hover on components in interface files.
Features:
- Show References! Works cross-files too.
- Hover now supports markdown docs.
- Hover on labels in component functions with compiler version 9.1, and labels with type annotation.
- Don't show file path on hover and autocomplete (cleaner).
- Autocomplete for props in JSX components.
->
autocomplete for built-in list, array, string, option types. And for string and array literals.- Slimmer download.
Breakages:
- Very old linux versions are no longer supported.
- Hover: no more odoc format support (but it'll still display as text).
Fixes:
- Diagnostics display for long lines.
Features:
- Full support for the newest
rescript
npm package! - Highlight type parameters.
Fixes:
- Highlighting for some decorators and keywords.
- Various hover & autocomplete opportunities.
Features:
- Autocomplete for
->
pipe! - Autocomplete for decorators such as
@module
and@val
and@deprecated
. - Autocomplete for labels
func(~...)
. - Support for the upcoming
rescript
npm package.
Fixes:
- Diagnostics crashing when a file's range isn't found (advice: use fewer ppxes that cause these bugs!). See #77.
- Weird behaviors when project path contains white space.
- Proper audit of the windows bugs. Windows is now officially first-class!
Syntax colors:
- Highlight operators for default VSCode dark+ theme. This means slightly less diverse highlight for the other themes that previously already highlighted operators.
- Worked with One Dark Pro and Mariana Pro. We now officially recommend these 2 themes, in addition to the existing recommendations in README.
- Highlight deprecated elements using the deprecation scopes.
- JSX bracket highlight fix (still no color; before, some parts were erroneously highlighted).
Features:
- Custom folding. See README.
- Support for doc strings when hovering on modules.
- Jump to type definition for types defined in inner modules.
Fixes:
- Properly highlight nested comments.
- Windows diagnostics!
- Removed a potential infinite loop issue in autocomplete.
- Don't autocomplete
open MyModule
inside line comments. - Don't print parentheses as in
A()
for 0-ary variants.
- Some diagnostics watcher staleness fix.
- Various type hover fixes.
- Monorepo/yarn workspace support.
- All the usual features (type hint, autocomplete) now work on
bsconfig.json
too! - Snippets, to ease a few syntaxes.
- Improved highlighting for polymorphic variants. Don't abuse them please.
- Fix temp file creation logic.
Official first release!