identifier
once more, fixing a few third-party themes.ejs
file extension now opens as HTML (EJS) by default, in addition to html.ejs
and htm.ejs
not in
operatornova
while the app isn’t running<?
) not highlighting as expected#
character no longer breaks syntax highlightingfnm
failed to infer the current shell typeirssi
in screen
punctuation
selector is now applied to closing parenthesis in Markdown documentsWindow
are now exposed in the global context&=
, |=
, and ^=
)0x200B–0x200F
k1k1
.
nano
zsh-interactive-cd
cw
and cW
when used on a single-character wordworkflow
OAuth scope to ensure that repositories using GitHub Actions can be cloned properly. (This may require you to re-authenticate your GitHub account in Nova’s settings)next occurrence
/ f
within a blank lineosxkeychain
credential helper is enabledswitch
statements can now be foldedpost-checkout
hook now properly provides the expected argumentsnova://open?path=[path]&line=[line]&type=[syntax]
HEAD
~/.ssh/config
zc
and zo
to fold and unfold code, respectively, in Normal modehttp_build_query()
/** */
as an auto-closing pair (to assist Intelephense users with completion of documentation comments):
of a match
or case
statement now indents the new lineStrictHostKeyChecking
support$
in PHP)user.name
or user.email
Git config options were malformedHEAD
when uncommitted conflicting changes are present now displays an alert and aborts the merge@
$Foobar
) would highlight as type namesProxyCommand
directive0
would use it as the first tab stop, not the lastunset()
and exit
are now highlighted as keywords when used as suchvar()
functionsstyle
attributes!
now properly prioritizes !important
over other unrelated completionsnova.crypto
API for generating cryptographically-strong random values and UUIDsnova.fs.tempdir
API for getting the path to a temporary foldercomment.doctag
theme selector@media
queries in CSSz
vertical movements (zz
, z.
, etc.)/* */
or {/* */}
properly for code or markupprint
completion has now been updated to be a function instead of a statement$
are now highlighted as expected$
are now highlighted as expected===
static
keyword is now highlighted as expectedtype
definitions are now terminated properly when a trailing semicolon is not presentaspect-ratio
property is now highlighted as expected:host()
pseudo-class@font-face
rules that contain URLs now works as expected@font-face
, font-display
, and src
attributesfigcaption
property is now highlighted as expectedcolor-scheme
property!
or ?
%i %W
statements.with
methodclass << self ... end
syntax is now supported as a foldable methodH
or L
no longer moves the viewport when re-positioning the cursordd
on the trailing line fragment of a document now removes it and the previous newlineY
now includes the trailing newline for single linescw
or cW
no longer includes trailing whitespace after a worda
on an empty line no longer moves to the next lineci'
, ci"
, or ci
now properly handles cases where the quote is at the cursor positionEnd
now properly moves to the end of the current line^
and $
Command-L
by default/
$FileDirname
now returns the correct valuePROMPT_EOL_MARK
when using zshw
now properly includes trailing spaces before the next wordpre-commit
, commit-msg
, post-commit
, and post-checkout
TaskDebugAdapterAction
to run debuggers supporting the Debug Adapter ProtocolDebugSession
class and Workspace
methods to observe and respond to custom Debug Adapter eventsWorkspace
objectfs.chmod()
to set file permissions on the FileSystem
objectinit.defaultBranch
configuration optionwebmanifest
JSON format and the woff
/ woff2
font typesdisplay_errors
is disabled in php.ini
http
color(srgb…)
colors will now appear in the gutterrgba()
format for sRGB, as color()
is only supported by Safarici
and ca
with brackets now properly balances counterpartsw
or W
on the last word of a line no longer includes whitespace from the next lineH
, M
, and L
commands--type
option--line
option when opening a documentnova.path.relative(from, to)
for calculating the relative path between two other pathswait
behavior of the CLI no longer requires manual exit; It will now observe for the file to be closed by Novaimg
tags now display their id
, class
, and src
attributes-
from being used in key binding assignmentsconsole.log()
API formatting not working as expectedtop
.textClipping
files into the editor now insert their contents as expectednova.path.expanduser
no longer not casts falsy values to stringsnull
after pressing the “Install & Restart” buttonCommand-+
var()
functions now work as expected!Important
autocomplete no longer adds an extra !
characterkeyword.construct
: Language construct keywords, such as function
, class
, interface
keyword.condition
: Conditional keywords, such as if
, for
, and case
keyword.modifier
: Modifier keywords, such as public
, private
, and async
keyword.statement
: Statement keywords, such as return
, throw
, and eval
keyword.operator
: Operator keywords, such as and
, or
, and not
keyword.self
: Internal object reference keywords, such as self
, this
, and super
<
characters from being parsed as the start of an HTML tagu
or b
prefix should now parse correctly.cjs
and .mjs
as recognized file extensionsasync
keywords in arrow function expressionse
(scientific) notation are properly parsedexit
in terminal before URL detection had completedß
no longer match ss
, and vice versaLanguageClient
implementation to properly normalize the workspaceFolders
propertyusing
and extend
keywords in class definitions are now parsed as expectedknown_hosts
InputPalette
⌘\
as a keyboard binding now works as expectedWinLatin1
file encodings@include
and @use
suffixes to autocompleteasync
and await
keywords are now highlighted as expectedLanguageClient
when receiving custom notifications without parametersCompletionItem.additionalTextEdits
LanguageClient
workspace path prefix not always matching paths of documentsman
when
clauses and the nova.workspace.context
object to support conditionally enabling commandsScopeSelector
extension class to inspect scope information when building completionsInsertTextFormat
enumeration option to the .edit()
APItaskTemplates
htop
Command-K
wouldn’t clear scrollback until Command key is releasedtmux
and htop
!important
-
#
<<-
syntaxexcept
would highlight as a partial keywordfor
loops using let
bindings no longer interrupt parsing in some circumstancesimport
line.openFile()
with no options argumentDocument
and Window
classesif
blocks:/
contains(path)
would always return true
TaskCommandAction
class that invokes an extension commandtriggerCharacters
propertynova
CLI tool when /usr/local/bin did not already exist:
can now be opened via command-clickJSTreeItem.tooltip
would not be usedFilenames
queries now include extensionsnova.workspace.openFile()
now properly waits for the editor to be established in the extension service runtime before resolvingFunction
class from completionsxcodebuild
commandsTask
and TaskProcessAction
object classes with a new assistant typeapplyEdit
method to instruct Nova to perform a wide-scale edit on multiple files simultaneouslyinitializationOptions
in the LanguageClient.clientOptions
triggerCharacters
completion request propertyCompletionItem.additionalTextEdits
and TextEdit
APIs
funding
property to the extension manifest
{}
bracketsconsole
instead of the Console
classIssueParser
API that could incorrectly report an issue’s line basisnova.workspace.path
should now always match document URIs prefixesrange
of item when computing filtering textLanguageClient.running
would return an incorrect value if the language server quits*
selector to AssistantsRegistry.registerIssueAssistant
TextEditor.onWillSave
callbackProcessMessage
objecttextEdit
changes in addition to insertText
document/hover
requests returning the deprecated MarkedString
content are now unescaped properlyClipboard
API and corresponding entitlement for interacting with the user’s clipboardSnippet
format in completionsCompletionItem
APIInsertTextFormat
, an enumeration that contains values for supported text formats:
InsertTextFormat.PlainText
: Plain text. It won’t be modified or tokenizedInsertTextFormat.Snippet
: Completion text will be tokenized using the Clips / Snippet ${}
formatCompletionItem.insertTextFormat
, which defines an enum value from the InsertTextFormat
enumerationCompletionItem.tokenize
has been deprecated in favor of the newer format property
true
will set the format to a private (inaccessible) enum value InsertTextFormat.Placeholder
which is present for backwards compatibilityTextEditor.insert()
has a new, optional second argument that takes an InsertTextFormat
enum value to control the inserted text format in the same way as completion items
InsertTextFormat.Placeholder
) will be usedmysqli_query()
to PHP/MySQL autocompleteDocumentHighlight
requestsend
keyword detectionMarkedString[]
responses for Hover requests