All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.11.5 - 2020-12-10
- show better error messages in certain debug crash situations (#286)
2.11.4 - 2020-11-25
- broken syntax highlighting introduced in v2.11.3
2.11.3 - 2020-11-25
- (Formatter) indentation and keyword support for
try
,catch
,throw
,end try
. - (Editor) syntax highlighting for
try
,catch
,throw
,end try
.
- updated to [email protected]
2.11.2 - 2020-11-23
- (LanguageServer)
try/catch
andthrow
syntax support BrighterScript#218 - (LanguageServer) Catch when local variables and scope functions have the same name as a class. (BrighterScript#246)
- (LanguageServer) Catch when functions use keyword names (BrighterScript#247)
- updated to [email protected]
2.11.1 - 2020-11-17
- updated to [email protected]
- (LanguageServer) - load BrighterScript plugins relative to the project (BrighterScript#243)
2.11.0 - 2020-11-14
- use LanguageServer for most completion/provider functionality. (you can disable this by setting
"brightscript.enableLanguageServer": false
in user/workspace settings). (279) - updated to [email protected]
2.10.3 - 2020-11-11
- bug with hardcoded extension ID that did not properly work with new vscode publisher id.
2.10.2 - 2020-11-11
- Publish to OpenVSX registry
- Rename VSCode marketplace publisher to "RokuCommunity"
- update badges
2.10.1 - 2020-10-30
- updated to [email protected]
- (LanguageServer) exclude bs1100 for typedef files (
Missing "super()" call in class constructor method.
) - (LanguageServer) fix some invalid class field types in typedef files
- (LanguageServer) include override keyword in class methods in typedef files
2.10.0 - 2020-10-30
- (LanguageServer) support for BrighterScript type definitions
- updated to [email protected]
2.9.0 - 2020-10-28
- (LanguageServer) support for BrighterScript annotations
- updated to [email protected]
- Upgraded to [email protected]
2.8.15 - 2020-10-23
- updated to [email protected]
- (Debugger) bug when converting
$anon_###
function names into original function names that was using the wrong line number to look up the name. (roku-debug#21)
2.8.14 - 2020-10-20
- updated to [email protected]
- (LanguageServer) removed
bs1106
(.bs file script tags must use thetype="brighterscript"
) diagnostic because it's unnecessary.
- (LanguageServer) bug when using single quotes in an xml script tag
2.8.13 - 2020-10-20
- updated to [email protected]
- (LanguageServer) crash when a callable has the same name as a javascript reserved name (BrighterScript#226)
- (LanguageServer) crash when
import
statement is malformed (BrighterScript#224)
2.8.12 - 2020-10-18
- updated to [email protected]
- (LanguageServer) reduce throttle for validation and parsing now that those have improved performance.
- (LanguageServer) massively improve validation performance by refactoring
getFileByPkgPath
- (LanguageServer) micro-optimization of hot parser functions
- (LanguageServer) change codebase to use
import type
many places, which reduces the number of files imported at runtime
2.8.11 - 2020-10-15
- updated to [email protected]
- (LanguageServer) bug when printing diagnostics that would crash if the contents were missing (like for in-memory-only files injected by plugins) (BrighterScript#217)
- (LanguageServer) performance improvements by moving property name collection into the parser, which elimitates a costly AST walk
2.8.10 - 2020-10-13
- updated to [email protected]
- (LanguageServer) bug when finding bsconfig.json that would use the wrong cwd in multi-workspace language server situations. This fix may resolve significant multi-workspace performance problems you might have been seeing.
- (LanguageServer) performance issue during the parser phase. We now defer certain collections until needed (BrighterScript#210)
2.8.9 - 2020-10-12
- (LanguageServer) significant changes to the plugin API related to AST traversal.
- LanguageServer) plugin system (still in alpha) support for re-scanning the AST after modifing the AST by calling
invalidateReferences()
- (LanguageServer) now sends a diff of diagnostics for files, instead of the entire project's diagnostics every time. This improves performance for projects with a high number of diagnostics or files (BrighterScript#204)
- update to [email protected]
- (Debugger) Fixed bug where
stagingFolderPath
was defaulting to${workspaceFolder}/.roku-deploy-staging
, when it should have been${workspaceFolder}/out/.roku-deploy-staging
. - (LanguageServer) bugs with plugin interoperability with BrighterScript when using
instanceof
. All internal BrighterScript logic now uses theis
functions fromastutils/reflection
, and plugin authors should do the same. - (LanguageServer) critical bug in diagnostic printing that would crash the program if a diagnostic was missing a valid range.
- (LanguageServer) Prevent bogus diagnostic on all callfunc operations (BrighterScript#205)
- (LanguageServer) transpile bug for namespaced class constructors that wouldn't properly prepend the namespace in some situations. (BrighterScript#208)
- (LanguageServer) bug in class validation that was causing bogus diagnostics during class construction in namespaces.(BrighterScript#203)
2.8.8 - 2020-10-06
- upgraded to [email protected]
- (Debugger) bug that was not passing in the
stagingFolderPath
property for the root project, and therefore incorrectly loading that value frombsconfig.json
if it existed. (roku-debug#18)
2.8.7 - 2020-10-01
- update to [email protected]
- (LanguageServer) annoying popup that would show anytime invalid XML was encountered.
- (LanguageServer) improved performance in the lexer and parser
- (LanguageServer) potential for accidentally changing cwd during bsconfig resolving
2.8.6 - 2020-09-30
- upgraded to [email protected]
- (Debugger) bug preventing component library debug sessions from launching in certain situations
2.8.5 - 2020-09-30
- upgraded to [email protected]
- (Debugger) bug where debugger couldn't find
manifest
file for component libraries during publish.
2.8.4 - 2020-09-25
- (Language Server) alpha version of plugin system. This is subject to change at any time, so use at your own risk.
- upgraded to [email protected]
- update to [email protected]
- (Debugger) fixed some false positive detections of
Can't continue
in the TelnetAdapter
2.8.3 - 2020-09-04
- (Language Server) Add error diagnostic BS1115 which flags duplicate component names brighterscript#186
- update to [email protected]
2.8.2 - 2020-09-01
- update to [email protected]
- (Language Server) Upgraded BS1104 to error (previously a warning) and refined the messaging.
2.8.1 - 2020-08-14
- upgraded to [email protected]
- upgraded to [email protected]
- upgraded to [email protected]
- throw exception when copying to staging folder and
rootDir
does not exist in the file system - throw exception when zipping package and
${stagingFolder}/manifest
does not exist in the file system
- bug in
DebugConfigProvider
that incorrectly used${workspaceFolder}
whenrootDir
didn't exist.
2.8.0 - 2020-08-10
- (Language Server) ability to mark the
extends
andproject
options inbsconfig.json
as optional by prefixing the path with a question mark. See this link for more details.
- upgraded to [email protected]
2.7.0 - 2020-08-03
- support for clickable
file://
links in the log output (#262)
- upgraded to [email protected]
- (Language Server) bug that would provide stale completions due to the file throttling introduced in [email protected]. Now the language server will wait for the throttled parsing to complete before serving completion results.
- improvements in the auto-indent functionality for certain language keywords (#271).
2.6.0 - 2020-07-29
- (Formatter) ability to load formatter settings in
bsfmt.json
file in cwd. Ifbsfmt.json
exists, then user/workspace formatting settings are ignored.
- upgraded to [email protected]
- Upgraded to [email protected]
- (BrighterScript) bug on Windows when transpiling import statements into xml script tags that would use the wrong path separator sometimes.
2.5.4 - 2020-07-14
- upgraded to [email protected]
- upgraded to [email protected]
- (LanguageServer) - critical bug in BrighterScript and roku-deploy when when loading
stagingFolderPath
fromrokudeploy.json
orbsconfig.json
that would crash the language server
2.5.3 - 2020-07-11
- (Debugger) Prevent debug session crash if target breakpoint file doesn't exist. roku-debug#10
- (Debugger) Bug when converting source location to staging locations that incorrectly checked rootDir before sourceDirs. roku-debug#10
2.5.2 - 2020-07-09
- Upgraded to [email protected]
- Throttle LanguageServer validation to prevent running too many validations in a row.
2.5.1 - 2020-07-09
- (LanguageServer) add 350ms debounce in
onDidChangeWatchedFiles
to increase performance by reducing the number of times a file is parsed and validated. - Upgraded to [email protected]
- (Debugger) bug in the
.env
file processing during debug launch. - (LanguageServer) bug in the log output that wasn't casting string log levels into their numeric enum versions, causing messages to be lost at certain log levels.
- (LanguageServer) load manifest file exactly one time per program rather than every time a file gets parsed.
- (LanguageServer) bug in
info
logging that wasn't showing the proper parse times for files on first run.
2.5.0 - 2020-07-08
- (Debugger) support for inline values during a debug session. roku-debug#8
- (LanguageServer) diagnostic for unknown file reference in import statements in BrighterScript files (brighterscript#139)
- (BrighterScript) Source literals feature which adds new literals such as
SOURCE_FILE_PATH
,SOURCE_LINE_NUM
,FUNCTION_NAME
, and more. (brighterscript#13) - (BrighterScript) Template string feature which brings template string support to BrighterScript. (brighterscript#98)
- upgraded to [email protected]
- Upgraded to [email protected]
- Upgraded to [email protected]
- (Debugger) Fixed bug when inspecting indexed variables that would always show the list or array itself when using the BrightScript debug protocol roku-debug#8
- (LanguageServer) bug in parser that would fail to find function calls in certain situations, killing the rest of the parse.
- (LanguageServer) Do not show BS1010 diagnostic
hint
s for the same script imported for parent and child. (brighterscript#113)
2.4.6 - 2020-07-02
- Upgraded to [email protected]
- (Debugger) Try to look up original function names for anonymous functions in call stack roku-debug#6
2.4.5 - 2020-07-02
- bug where .env placeholders in nested launch.json settings were not being handled in the config resolver. #256
2.4.4 - 2020-06-12
- Upgraded to [email protected]
- (BrighterScript) bslib.brs gets copied to
pkg:/source
and added as an import to every component on transpile. - (LanguageServer) several timing logs under the
"info"
log level.
- (LanguageServer) pipe the language server output to the extension's log window
- (LanguageServer) bug with global
val
function signature that did not support the second parameter (BrighterScript#110) - (LanguageServer) bug with global 'StrI' function signature that did not support the second parameter.
2.4.3 - 2020-06-10
- Upgraded to [email protected]
- (LanguageServer) Allow leading spaces for
bs:disable-line
andbs:disable-next-line
comments (brighterscript#108) - (LanguageServer) incorrect definition for global
Left()
function. (brighterscript#100) - (LanguageServer) missing definition for global
Tab()
andPos()
functions (brighterscript#101) - BrighterScript
class-extends
snippet with broken placeholder for parent class (#252)
2.4.2 - 2020-06-04
- Upgraded to [email protected]
- (LanguageServer) log full error to language server console in client anytime critical error is encountered (attempting to find cause of brighterscript#97)
2.4.1 - 2020-06-04
- remove required fields (
rootDir
,host
,password
) fromlaunch.json
as it's perfectly valid to provide none and rely on thebsconfig.json
. (#251)
2.4.0 - 2020-06-01
- basic snippets for brs/bs and xml files (#248)
- bug where command
extension.brightscript.toggleXML
wouldn't account for.bs
files (#242)
2.3.0 - 2020-06-01
- (Formatter) new option
insertSpaceBetweenAssociativeArrayLiteralKeyAndColon
which will ensure exactly 1 or 0 spaces between an associative array key and its trailing colon. (brighterscript-formatter#17)
- Upgraded to [email protected]
- (Formatter) bugs related to formatting single-line if statements (brighterscript-formatter#13)
2.2.1 - 2020-05-28
- Upgraded to [email protected]
- (LanguageServer)
CreateObject("roRegex")
with third parameter caused compile error (BrighterScript#95) - (BrighterScript) flag parameter with same name as namespace
- (BrighterScript) flag variable with same name as namespace
2.2.0 - 2020-05-27
- commands to show preview of transpiled BrighterScript (
brighterscript.showPreview
andbrighterscript.showPreviewToSide
);
- Upgraded to [email protected]
2.1.23 - 2020-05-20
- disabled
formatMultiLineObjectsAndArrays
by default because it has a bug. Will re-enable in the future when that option gets fixed.
2.1.22 - 2020-05-20
- (BRS/BS formatter) new option
formatMultiLineObjectsAndArrays
which inserts newlines and indents multi-line objects and arrays
2.1.21 - 2020-05-20
- (BRS/BS Formatter) new option
insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces
which...does what it says. (brighterscript-formatter#16
- Upgraded to [email protected]
- missing launch.json schema information for
enableDebugProtocol
- issue where somehow BrighterScript got moved from a dependency into a devDependency, causing the entire package to be excluded from the extension. (#244)
- incorrect indent when using
class
,endclass
,namespace
,endnamespace
as an object property (brighterscript-formatter#18)
2.1.20 - 2020-05-19
- (BrighterScript) parser support for the new callfunc operator
- Upgraded to [email protected]
2.1.19 - 2020-05-16
- Upgraded to [email protected]
- timing bugs in the language server on first parse that would randomly show errors during startup
- (BrighterScript) some bugs related to import statements not being properly traced.
2.1.18 - 2020-05-14
- Upgraded to [email protected]
- BrighterScript TypeScript compile targets "ES2017" which provides a signifiant performance boost in lexer (~30%) and parser (~175%)
- (LanguageServer) false negative diagnostic when using the
new
keyword as a local variable #79
2.1.17 - 2020-05-14
- Upgraded to [email protected]
- formatter bug that would incorrectly add spacing between a negative sign and a number if it's the first entry in an array (brighterscript-formatter#14)
- formatter bug that would incorrectly add spacing to the left of a negative sign if preceeded by a left curly bracket or left paren.
- (formatter) Prevent indent after lines with indexed getter function call (i.e.
someObj[someKey]()
) (brighterscript-formatter#15)
2.1.16 - 2020-05-11
- brightscript debug commands from the debug console in the telnet adapter like cont and step are now supported (but use at your own risk as there are synchronization issues between the adapter and vscode sometimes)
- source maps are now cached on launch to improve step speed.
- only initialize the log manager when launching a BrightScript debug session.
- only clear/focus console/output when launching a BrightScript debug session
- Upgraded to [email protected]
- Upgraded to [email protected]
- Upgraded to [email protected]
- Upgraded to [email protected]
- Added missing roku-deploy options into launch config schema.
- issue that was treating logpoints like regular breakpoints
- bugs when debugging files with sourcemaps. This still isn't perfect, as files with injected breakpoints will debug the staging file. However, files with maps that don't have breakpoints will be debuggable in the source file. Fix coming soon for the prior.
- several bugs where the source locations and staging locations were not being computed properly, causing a poor debugging experience.
- bugs related to sourcemaps not loading from the proper locations.
- bug with circular dependencies in source maps (shouldn't ever actually exist, but at least we won't loop forever now)
2.1.15 - 2020-05-07
- Upgraded to [email protected]
- bug in LanguageServer that was printing diagnostics to the console when it shouldn't be.
2.1.14 - 2020-05-05
- diagnostic for detecting unnecessary script imports when autoImportComponentScript is enabled
- several performance regressions that were introduced in v0.8.2. (#230)
- Upgraded to [email protected]
- filter duplicate dignostics from multiple projects. (#75)
- bug that was flagging namespaced functions with the same name as a stdlib function.
- bug that was not properly transpiling brighterscript script tags in xml components.
- fixes to the
autoImportComponentScript
logic that was not properly finding the files in all situations. - Replace
type="text/brighterscript"
withtype="text/brightscript"
in xml script imports during transpile. (#73)
2.1.13 - 2020-05-04
- Upgraded to [email protected]
- issue where object properties named
next
would incorrectly cause a de-indent (brighterscript-formatter#12)
2.1.12 - 2020-05-04
- Upgraded to [email protected]
- do not show BRS1013 for standalone files (brighterscript#72)
- BS1011 (same name as global function) is no longer shown for local variables that are not of type function (brighterscript#70)
- issue that prevented certain keywords from being used as function parameter names (brighterscript#69)
2.1.11 - 2020-05-02
- Upgraded to [email protected]
- Include keywords in intellisense anywhere other than next to a dot (brighterscript#67)
- colorization of the
new
keyword in BrighterScript - Bug in LanguageServer that would show parse errors for functions named
constructor
(brighterscript#66) - bug when printing diagnostics that would sometimes fail to find the line in question `(brighterscript#68)
- Some performance issues during typing caused by the LanguageServer validating too frequently.
2.1.10 - 2020-05-01
- (LanguageServer) New BrighterScript compile flag
autoImportComponentScript
which will automatically inject a script at transpile-time for a component with the same name if it exists. - (Formatter) new formatting option
typeCaseOverride
which works the same askeywordCaseOverride
but exclusively for type tokens (integer
,function
, etc...)
- Upgraded to [email protected]
- Upgraded to [email protected]
- (Formatter) conditional compile
keywordCaseOverride
characters now support using the literal tokens#if
,#else
, etc... - (Formatter) bug indenting all-uppercase two-word conditional compile tokens
#ELSE IF
and#END IF
- (Formatter) Unwanted spacing between a negative sign and a number whenever preceeded by a comma (brightscript-formatter#8)
- (Formatter) Remove whitespace preceeding a comma within a statement brightscript-formatter#5)
- (Formatter) Remove leading whitespace around
++
and--
brightscript-formatter#10) - (Formatter) bug when providing
null
to keywordCaseOverride would case crash - (Formatter) Fix bug with
titleCase
option not being properly handled. - (Formatter) Only indent once for left square bracket and left square curly brace on the same line (brightscript-formatter#6)
- (LanguageServer) Parse bug with upper-case two-word conditional compile tokens
#ELSE IF
and#END IF
(brightscript#63)
2.1.9 - 2020-04-29
- Upgraded to [email protected]
- Upgraded to [email protected]
- bugs in class field initialization
- bug preventing class fields from being named certain keywords. Now they can.
2.1.8 - 2020-04-27
- Upgraded to [email protected]
- Upgraded to [email protected]
- incorrect syntax highlighting for commented-out
end if
statement. - colorize class fields
- formatter bug that was de-indenting
for each
loop bodies and everything after.
2.1.7 - 2020-04-24
- new setting
brightscript.focusOutputPanelOnStartup
.
- Disable file system logging by default.
- The "BrightScript Log" output channel is no longer automatically focused on extension init. You will need to set
brightscript.focusOutputPanelOnStartup
totrue
in order to regain this functionality. - Upgraded to [email protected]
- Upgraded to [email protected] which brings indent support for namespace and class, and keyword support for namespace, class, and import.
- incorrect syntax highlighting for
end class
.
2.1.6 - 2020-04-16
- syntax highlighting for
import
andnamespace
- upgraded to [email protected] which fixed a bug in the new BrightScript debug protocol that would sometimes crash during launch.
2.1.5 - 2020-04-15
- (LanguageServer) ability to filter out diagnostics by using the
diagnosticFilters
option in bsconfig
- upgraded to [email protected]
- (LanguageServer depricated the
ignoreErrorCodes
in favor ofdiagnosticFilters
- (LanguageServer) Bug in the language server that wasn't reloading the project when changing the
bsconfig.json
2.1.4 - 2020-04-14
- upgraded to [email protected] which fixed a syntax bug, now allowing the use of a period before an indexed getter (i.e.
object.["key]"
). It
2.1.3 - 2020-04-12
- upgraded to [email protected] which fixed several syntax errors during brighscript file parsing.
2.1.2 - 2020-04-11
- upgraded to [email protected]
- upgraded to [email protected]
- upgraded to [email protected] which fixed a file copy bug in subdirectories of symlinked folders
- (LanguageServer) downgrade diagnostic issue 1007 from an error to a warning, and updated the message to "Component is mising "extends" attribute and will automatically extend "Group" by default". (BrighterScript#53)
- (LanguageServer) Prevent xml files found outside of the
pkg:/components
folder from being parsed and validated. (BrighterScript#51) - (LanguageServer) allow empty
elseif
andelse
blocks. (BrighterScript#48)
2.1.1 - 2020-04-10
- several new diagnostics for conditional compiles. Some of them allow the parser to recover and continue. (BrightScript/BrighterScript)
- upgraded to [email protected]
- parser diagnostics have been broken out into their own error codes, removing the use of error code 1000 for a generic catch-all. That code still exists and will hold runtime errors from the parser. (BrightScript/BrighterScript)
- (LanguageServer) bug in parser that was flagging the new class keywords (
new
,class
,public
,protected
,private
,override
) as parse errors. These are now allowed as both local variables and property names.
2.1.0 - 2020-04-07
- Support for the BrightScript debug protocol. It's disabled by default, but can be enabled by setting
brightscript.debug.enableDebugProtocol
totrue
in your user settings or launch configuration.
2.0.0 - 2020-04-01
This is a summary of all changes between 1.23.0 and 2.0.0-beta.50
- language server support, which includes intellisense and syntax checking for brightscript projects
- flag to enable/disable the language server
- DebugServer output channel for showing more details of the status of the debug server without cluttering the main BrightScript log output
2.0.0-beta.50 - 2020-03-25
- flag to enable/disable the language server
2.0.0-beta.49 - 2020-03-07
- all changes from 1.23.0
2.0.0-beta.48 - 2020-02-26
- bug where no files would be copied to staging during the launch process.
2.0.0-beta.47 - 2020-02-26
- all changes from 1.22.0
2.0.0-beta.46 - 2020-02-18
- all changes from 1.21.3
2.0.0-beta.45 - 2020-01-22
- performance issue where projects including component libraries were writing to the filesystem too frequently, causing very slow build times. #217
2.0.0-beta.44 - 2020-01-15
- issue where the extension was still using [email protected]. The extension now uses [email protected]
2.0.0-beta.43 - 2020-01-11
- DebugServer output channel for showing more details of the status of the debug server without cluttering the main BrightScript log output
- use [email protected] which fixes bug during file copy that was not prepending
stagingFolderPath
to certain file operations. - use [email protected] updates to [email protected]
2.0.0-beta.42 - 2020-01-07
- [email protected] which fixes these issues;
2.0.0-beta.41 - 2019-11-08
- [email protected] which fixes these issues.
2.0.0-beta.40 - 2019-10-30
- all changes from 1.20.3
2.0.0-beta.39 - 2019-10-21
- all changes from 1.20.2
2.0.0-beta.38 - 2019-10-03
- all changes from 1.20.0
- upgraded to [email protected] which fixes parse error related to comments inside of associative array literals, and supports parsing opened files that are not included in a
bsconfig.json
file
2.0.0-beta.37 - 2019-10-01
- all changes from 1.20.0
2.0.0-beta.36 - 2019-09-28
- upgraded to [email protected] which fixes several startup race conditions.
2.0.0-beta.35 - 2019-09-24
- all changes from 1.19.0 through 1.19.6
- Enhanced intellisense to scan all files in context to provide more accurate results for object property completions.
- Enhanced intellisense that filters results based on whether you typing an object proeprty/method or not.
- switched languageserver to use brighterscript. This is the first step towards support the BrighterScript language.
- bug that would not register new files until a vscode restart.
1.23.0 - 2020-03-06
- support for file-system logging of the BrightScript and debug output channels. (
brightscript.debug.logfilePath
in user/workspace settings orlogfilePath
inlaunch.json
) (#216)
1.22.0 - 2020-02-25
- source map support during debugging. See the sourcemap section of the README for more information.
- support for
sourceDirs
for component libraries - ability to set any default launch config settings in user/workspace settings under
brightscript.debug.launchConfigValueHere
. There is not full validation for these yet, but the logic is already in place to use them.
- setting
brightscript.rokuAdvancedLayoutEditor.trackerTaskFileLocation
has been depricated and replaced withbrightscript.debug.raleTrackerTaskFileLocation
1.21.3 - 2020-02-18
- set many default config values so .env file works better. (#215)
- Speed up RALE insertion (#218)
1.21.2 - 2020-01-22
- performance issue where projects including component libraries were writing to the filesystem too frequently, causing very slow build times. #217
1.21.1 - 2019-12-20
- upgraded to [email protected]
1.21.0 - 2019-12-08
- option to use an alternate port when publishing a package to a Roku. This is mainly useful for publishing to an emulator an alternate port through port-forwarding.
- upgraded to [email protected]
1.20.3 - 2019-10-21
- bug in debugger that would fail to identify empty arrays and associative arrays.
1.20.2 - 2019-10-21
- bug in the parsing of the file paths on the device as of Roku FW 9.2 causing the opening of Component Library file to fail on runtime crashes and break points.
1.20.1 - 2019-10-03
- bug in the "port is in use" crash message detection (it wasn't awaiting an async call which was causing intermittent errors).
- bug in the componentLibrary
files
JSON schema that wasn't allowing{src;dest}
objects.
1.20.0 - 2019-10-01
- "port is in use" crash message when serving component libraries
- The Roku stacktrace includes all function names back as fully lower case. The extension reads the original files and attempts to find the correct case for every function. These results were not being cached, but are now cached in order to improve performance.
- some syntax colors related to object function calls
1.19.6 - 2019-09-23
- bugs in language grammar (syntax highlighting)
1.19.5 - 2019-09-20
- issue where part of the debug crash output was not being logged to the console (see #198)
1.19.4 - 2019-09-19
- upgraded to brighterscript-formatter@1.0.2
- formatting bug where, if a line ended with
end
(even property names), the following lines would all be de-indented
1.19.3 - 2019-09-18
- added format-document support for BrighterScript files.
1.19.2 - 2019-09-17
- migrated from brightscript-formatter to brighterscript-formatter.
brighterscript-formatter
fully supports formatting standard BrightScript code, so there's no lost functionality by upgrading.
- syntax colorization of
library
andsub
1.19.1 - 2019-09-17
- .env files are processed closer to the beginning of the config resolve function, which allows users to customize which prompts they want to see.
1.19.0 - 2019-09-16
- location of repository is now https://github.com/RokuCommunity/vscode-brightscript-language
- removed experimental flag
enableLookupVariableNodeChildren
because it is now enabled by default.
- many bugs related to inspecting large arrays/objects on the Roku during debugging. (see #152)
2.0.0-beta.34 - 2019-08-19
- upgraded to [email protected]
- issue with syntax highlighting while hovering over variables in
.brs
files (fixed by upgrading [email protected])
2.0.0-beta.33 - 2019-08-09
- issue that was crashing every debug session before it started.
2.0.0-beta.32 - 2019-08-07
- all changes from v1.18.2
- upgraded to [email protected]
2.0.0-beta.31 - 2019-08-03
- all changes from v1.18.1
2.0.0-beta.30 - 2019-08-02
- all changes from v1.18.0
2.0.0-beta.30 - 2019-06-21
- all changes from v1.17.1
2.0.0-beta.28 - 2019-06-18
- all changes from v1.17.0
2.0.0-beta.27 - 2019-06-13
- upgraded to [email protected] which:
- syntax support for
GOTO
and labels brs#248
- syntax support for
2.0.0-beta.26 - 2019-06-11
- all changes from v1.16.0
2.0.0-beta.25 - 2019-05-31
- upgraded to [email protected] which:
2.0.0-beta.24 - 2019-05-28
- all changes from v1.15.0
- upgraded to [email protected] which:
- syntax support for LINE_NUM variable
2.0.0-beta.23 - 2019-05-23
- upgraded to [email protected] which:
- adds syntax support for trailing colons in if statements
2.0.0-beta.22 - 2019-05-22
- upgraded to [email protected] which:
- added syntax support for numbers with leading or trailing period
- added
&
as supported type designator for identifiers
2.0.0-beta.21 - 2019-05-14
- all changes from v1.14.0
- upgraded to [email protected] which:
- adds syntax support for library statements
2.0.0-beta.20 - 2019-05-07
- upgraded to [email protected] which:
- fixes many syntax errors related to using keywords as property names.
- adds support for hex literals
- bug in syntax highlighting that was showing keyword colors for object properties with keyword names.
2.0.0-beta.19 - 2019-05-01
- upgraded to [email protected] which removes error for subs with return types (brs#220)
2.0.0-beta.18 - 2019-04-30
- upgraded to [email protected] which brings syntax support for increment (++) and decrement (--) operators.
2.0.0-beta.17 - 2019-04-26
- all changes from v1.13.1
2.0.0-beta.16 - 2019-04-19
- all changes from v1.13.0
2.0.0-beta.15 - 2019-04-11
2.0.0-beta.14 - 2019-03-21
- all changes from v1.11.0
2.0.0-beta.13 - 2019-03-21
- upgraded to [email protected]
- greatly improved single-line recovery. Previously, certain syntax errors would prevent the rest of the block or file from parsing. The parser will now skip erraneous lines and attempt to recover. This usually provides much better error recovery, but in certain cases can produce additional errors in the file.
- bitshift assignment operators (
>>=
<<=
) no longer cause parse errors - using colons as separators for associate arrays no longer cause parse errors (e.g
obj = {x:0 : y: 1}
)
2.0.0-beta.12 - 2019-03-21
- all changes from v1.9.0 and v1.10.0
- This release is the successor to
2.0.0-beta.11
. The name of the beta program caused some confusion in the past, because it seemed like it was a beta version of 1.9.0, when in reality it was just a beta version of new features, and we needed a higher number than the current version (which was 1.8.* at that time). So now, for clarity, the new versions of the languageserver beta versions will be2.0.0-beta.[the_beta_number}
. It would have been nice to not use a version number at all, but vscode and npm both need valid semantic version numbers, so we decided to use 999 instead, which makes it much more obvious that this is an outlier. - Upgrade to [email protected]
- exclude method completions from xml files (will be added back once CDATA support arrives)
- empty script reference errors will show a more usefull error message
"Script import cannot be empty or whitespace"
- parse errors for type designators (i.e.
$
%
!
#
at end of variable name) - parse errors for multiple spaces between two-word keywords (like
else if
orend if
) - issue with missing
brsconfig.json
schema file.
2.0.0-beta.11 - 2019-03-12
- Support for
go to definition
to open parent component xml file when the cursor is on a component'sextends="ParentName"
section (fixes #114).
- Syntax colorization for multi-word keywords like endfor, endif, elseif, etc. that were not supporting zero spaces between or more than 1 space between.
2.0.0-beta.10 - 2019-03-12
- Upgraded to [email protected] which brought support for supressing errors using a comment
- regression issue preventing the use of launch configs stored
settings.json
(see #111)
2.0.0-beta.9 - 2019-03-11
- Upgraded to [email protected] which fixed an npm issue that was loading the wrong version of
brs
.
2.0.0-beta.8 - 2019-03-10
- support specifying
brsconfig.json
path as a vscode setting under thebrightscript.configFile
setting. - reload workspace if brsconfig.json has changed
- When launching debug session, read values from brsconfig.json when available
- Don't show brightscript log on workspace open (still support option to show on debug-start)
- Upgraded to [email protected]) which fixes:
- RHS boolean assignment parse errors (see this issue)
- hover bug in multi-root workspace that was only showing hovers for the first workspace
2.0.0-beta.7 - 2019-03-09
- All changes from 1.8.4 and 1.8.5
- Upgraded to [email protected]) which fixes:
- Regression issue where mixed case
then
statements showed up as parse errors (fixed by - Parse errors related to assignment operators (i.e.
+=
,-=
,*=
, etc.) - issue where only top-level variables were being found. Now all variables are found throughout the entire function scope.
- runtime error when getting hover result.
- issue with hover that would not find top-level function parameter types.
- Regression issue where mixed case
2.0.0-beta.6 - 2019-03-04
- All changes from 1.8.3
- syntax highlighting bug related to
then
not colorizing when containing any upper case character - the
MaxListenersExceededWarning
warning by upgrading to [email protected]
2.0.0-beta.5 - 2019-03-03
- Upgraded to [email protected] that brings syntax fixes for using
then
as an object property name and now allowsfunction
as an argument type.
- textmate grammar related to
run
,stop
, andthen
when used as object property names
2.0.0-beta.4 - 2019-02-25
- Upgraded to [email protected] which fixes duplicate diagnostic reporting
2.0.0-beta.3 - 2019-02-25
- bugs with errors showing up for script imports inside of comments.
2.0.0-beta.2 - 2019-02-24
- Upgraded to latest
brightscript
project, which fixes bitshift assignment operators andstop
andrun
keywords on object literals.
2.0.0-beta.1 - 2019-02-20
- Experimental language validation support. Catches most parse errors and a few basic language errors.
1.18.2 - 2019-08-07
- upgrade to [email protected] which fixes manifest parsing bug related to colors starting with
#
.
1.18.1 - 2019-08-03
- issue where the RALE Tracker Task injection logic was enabled by default.
1.18.0 - 2019-08-02
- Automatic Rendezvous tracking when
logrendezvous
is enabled on the Roku. The extension monitors all rendezvous console log entries and displays them in a new side panel in vscode. - bs_const support in the launch.config. See the bs_const section for more information.
- User-Agent header to the ECP requests in the ActiveDeviceManager to make it easier to detect where those requests are coming from.
- Ability to auto-name component libraries based on values from the manifest (such as
title
) - Ability to inject the Roku Advanced Layout Editor(RALE) task from a single user managed version. (See the #RALE-Support for more information)
- Set and use default
files
array when not specified inlaunch.json
so users don't need to set it themselves. - Bug where some of the console output gets lost during
consoleOutput: "normal"
. - Show better error messages during the publish process
- include the host ip address in most error messages
- open the first file that has a compile error
1.17.1 - 2019-06-21
- regression issue with
formatIndent
1.17.0 - 2019-06-18
- support for hosting and debugging component libraries. (#161)
- Dropdown during launch allowing you to pick from a list of Rokus found on local network. (#156)
- Upgraded to [email protected], and added new extension settings:
- brightscript.format.formatInteriorWhitespace
- brightscript.format.insertSpaceBeforeFunctionParenthesis
- brightscript.format.insertSpaceBetweenEmptyCurlyBraces
1.16.0 - 2019-06-11
- added launch config setting
stopDebuggerOnAppExit
which monitors the console output, and automatically ends the debug session when detected. - added launch config setting
enableLookupVariableNodeChildren
that, if true, will get all children of a node, when the value is displayed in a debug session, and display it in the virtual_children
field - added extension setting
brightscript.output.clearConsoleOnChannelStart
that allows you to clear/not clear the initial roku compile console output. - resolving children of nodes variables
- bug that would cause debug session crashes when inspecting a
roList
variable (#155)
1.15.0 - 2019-05-28
- support for foldable regions by typing
'#region
and'#endregion
- added syntax colorization for
#region
and#endregion
1.14.0 - 2019-05-14
- default value of debug configuration setting
stopOnEntry
to false.
- bug that wouldn't support launching screen savers due to not looking for
RunScreenSaver
entry point.
1.13.1 - 2019-04-26
- bug in the run loop break recovery section that was not resetting certain variables, which was requiring a vscode reboot to fix.
1.13.0 - 2019-04-19
sourceDirs
launch config setting that enables the debugger to search through each entry insourceDirs
until it finds a relative file path that matches the file currently being debugged. (#130)- deep link / ECP support when launching a debug session. Use the
deepLinkUrl
property in yourlaunch.json
(#4)
debugRootDir
launch config setting. Use the newsourceDirs
setting instead. (#130)
- Bugs in hover and locals that would not show the full variable name (#137).
1.12.1 - 2019-04-11
- issue where vscode would periodically provide different character casing for workspaceFolder than for full file paths, which would prevent launching a debug session
- Remove excess spacing in logpoint output
1.12.0 - 2019-04-09
- conditional breakpoint support
- logpoint support
- hit count breakpoint support
1.11.0 - 2019-04-01
- ability to recover from roku run loop break issues that would previously cause many debug sessions to completely bomb. Set
enableDebuggerAutoRecovery
to true to opt-in to this feature. See #129 for more information - ability to change the presentation of package path hyperlinks in the BrightScript output log. See #128 for more information.
1.10.0 - 2019-03-21
- Completion items for all BrightScript interface methods except for a few more obscure ones (#68). These can be activated by typing the full interface name after the variable (i.e. )
- problems launching a debug session when the Roku has an app already running that is stuck in the debug state. This extension now issues several
exit
commands in a row (in addition to the home press it was already doing) which seems to resolve the majority of those issues. (#125)
1.9.0 - 2019-03-19
- Support for the
vars
panel during a debug session. This can be disabled by settingenableVariablesPanel: false
in thelaunch.json
configuration.
- Syntax highlighting issues
- variable names with type designators are colored properly
endsub
andendfunction
are colored properlyend
is colored properly as a standalone command- various two word keywords now support no space or multiple spaces between (previously needed exactly 1 space between then)
1.8.6 - 2019-03-09
- launching debug session without a
launch.json
works again.
1.8.5 - 2019-03-07
- Re-added the log commands that somehow got dropped in a previous release
1.8.4 - 2019-03-04
- Regression syntax highlighting issue that was not correctly colorizing
then
in conditional statements if it contains any uppercase letters.
1.8.3 - 2019-03-04
- Several textmate grammar issues and added more variety in the captured tokens to provide better colorization
1.8.2 - 2019-01-27
- Upgraded to roku-deploy@2.0.0 which brings support for dereferencing symbolic links, and copying files located outside of rootDir.
1.8.1 - 2019-01-25
- Issue in
Go to definition
that would not find functions/subs with a space between the name and the opening parenthesis (#85)
1.8.0 - 2019-01-25
- Support for reading variables from a
.env
file inlaunch.json
(see this section of the readme for more information)
- Bug in
Go to definition
that wasn't finding function declarations with leading whitespace
1.7.0 - 2019-01-22
- Ability to click on
pkg:/
links in BrightScript output window to open that file at the specified line number.
1.6.1 - 2019-01-20
- Bug where the debugger would hang indefinitely on certain deployment errors.
1.6.0 - 2019-01-15
- Ability to filter log output
- Ability to clear log output
- Included
not searchViewletVisible
as part of the roku keyboard remote keybindings so the search panel is more usable in the output window. - Prevent adding entry breakpoint when
stopOnEntry
isfalse
in launch.json. - Updated textmate grammar to include
step
as reserved word.
- Upgraded to roku-deploy@2.0.0-beta2 which fixes some file path regression issues introduced in 1.0.0
1.5.0 - 2019-01-03
- Ability to send remote control commands from the keyboard. See readme for more details.
1.4.2 - 2018-12-19
- Upgraded to roku-deploy version 1.0.0 which brings
glob-all
support for negating globs.
1.4.1 - 2018-12-14
- Bug that was preventing debugger from working.
1.4.0 - 2018-12-10
- Basic goto declaration support in xml documents
- Inline errors for compilation failures
- BrightScript Log output window, which can have colors/searches applied to it
- Basic message signature support
Find usage
support for brs documents
1.3.2 - 2018-12-07
- Bug that was preventing using
function Main
as an entry function.
1.3.1 - 2018-12-05
- Upgraded to brightscript-formatter version
1.5.0
which brings support for overriding keywordCase for specific keywords.
- Bug introduced in 1.3.0 that was preventing a debug session from starting due to incorrect "out" path.
1.3.0 - 2018-11-20
- Support for declarations and symbols
- Support for go to definition
- Ability to format hightlighted code without formatting the whole document
- A new launch setting called
debugRootDir
that allows deploying a build file while still debugging a source file - Command for switching between xml and brs files for a component.
- Support for conditional statements without the
then
.
- Upgraded to brightscript-formatter version
1.4.0
which brings better support for multi-line if statements without the trailing then.
- Breakpoints added after a debug session is launched are now correctly show as disabled.
1.2.2 - 2018-09-26
- Upgraded to brightscript-formatter version
1.3.0
which brings support for formatting conditional compile statements.
1.2.1 - 2018-09-26
- Upgraded to roku-deploy version
0.2.1
which removed some packages containing security vulnerabilities.
1.2.0 - 2018-09-26
- Upgraded to roku-deploy version
0.2.0
which adds support for moving and renaming files during the packaging process (see the files property for more details).
1.1.0 - 2018-07-11
- Upgraded brightscript-formatter to version
1.2.0
which enables removing trailing whitespace when formatting.
1.0.1 - 2018-04-04
- Issue in debugger that was not properly handling truncated file paths received from Roku.
1.0.0 - 2018-03-16
- Remote debugging support
- Code formatter
- Issues with language colorization