Skip to content

Releases: swyddfa/esbonio

Esbonio Language Server v0.14.3 - 2022-11-05

05 Nov 09:08
Compare
Choose a tag to compare

v0.14.3 - 2022-11-05

Enhancements

  • Add esbonio.server.showDeprecationWarnings option.

    This is flag is primarily aimed at developers working either directly on esbonio, or one of its extensions.
    When enabled, any warnings (such as DeprecationWarnings) will be logged and published to the client as diagnostics. (#443)

Fixes

  • Spinx log messages are no longer duplicated after refreshing the application instance (#460)

API Changes

  • Added add_diagnostics method to the RstLanguageServer to enable adding diagnostics to a document incrementally. (#443 )

  • The Directives language feature can now be extended by registering DirectiveLanguageFeatures using the new add_feature method.
    This is now the preferred extension mechanism and should be used by all extensions going forward. (#444)

  • DirectiveLanguageFeatures can now implement the following methods.

    • index_directives: used to discover available directive implementations
    • suggest_directives: used to determine which directive names can be suggested in the current completion context (function vs py:function vs c:function etc.)
    • get_implementation: used to go from a directive name (function vs py:function) to its implementation
    • suggest_options: used to determine which directive options can be suggested in the current completion context (#453)

Deprecated

  • ArgumentCompletion, ArgumentDefinition and ArgumentLink directive providers have been deprecated in favour of DirectiveLanguageFeatures and will be removed in v1.0 (#444)
  • Calling the get_directives() method on the RstLanguageServer and SphinxLanguageServer objects is deprecated in favour of calling the get_directives() method on the Directives language feature.
    It will be removed in v1.0
  • Calling the get_directive_options() method on the RstLanguageServer and SphinxLanguageServer objects deprecated and will be removed in v1.0. (#453)

Misc

  • Fix broken release pipeline (#480)
  • Add Python 3.11 support (#470)

Esbonio Language Server v0.14.1 - 2022-09-11

11 Sep 16:48
Compare
Choose a tag to compare

v0.14.1 - 2022-09-11

Fixes

  • textDocument/documentSymbol requests should no longer fail on substitution definitions. (#448)

Esbonio VSCode Extension v0.10.1 - 2022-09-07

07 Sep 22:49
Compare
Choose a tag to compare

v0.10.1 - 2022-09-07

Removed

  • The reStructuredText Syntax Highlighting extension is no longer included via VSCode's "Extension Pack" feature as these rules are now distributed with VSCode itself. (#447)

Esbonio VSCode Extension v0.10.0 - 2022-08-02

02 Aug 23:24
Compare
Choose a tag to compare

v0.10.0 - 2022-08-02

Features

  • Initial very experimental web extension support! Currently this is limited to the vanilla docutils language server available in the esbonio Python package - so no Sphinx support yet.

    The outline view, basic completions and hovers for vanilla docutils roles and directives are the only known working features at this point. (#438)

Enhancements

  • Log output in the Esbonio output channel is now syntax highlighted. (#436)

Esbonio Language Server v0.14.0 - 2022-07-31

31 Jul 19:02
Compare
Choose a tag to compare

v0.14.0 - 2022-07-31

Features

  • The language server now supports textDocument/implementation requests for roles and directives. (#431)

Enhancements

  • Line numbers for diagnostics for issues found within Python docstrings should now be more accurate. (#433)
  • Document symbol requests made for unsaved files now use the language client's version rather than the version on disk. (#434)

Fixes

  • Diagnostics for issues found in .. included:: files should now have the correct filepath. (#425)
  • Extensions defined within Sphinx extensions or conf.py files can now take advantage of dependency injection (#428)
  • The server should now handle document symbol requests for files that are treated as reStructuredText files by a language client but don't have an *.rst extension. (#434)

API Changes

  • It is now possible to manually load an extension by calling the load_extension method on a language server object. (#429)
  • LanguageFeatures can now respond to textDocument/implementation requests by providing an implementation method and a collection of implementation_triggers. (#431)

Esbonio Extensions v0.2.0 - 2022-06-29

29 Jun 23:05
Compare
Choose a tag to compare

v0.2.0 - 2022-06-29

Features

  • Add esbonio.relevant_to extension. (#402)

Esbonio Language Server v0.13.1 - 2022-06-29

29 Jun 22:59
Compare
Choose a tag to compare

v0.13.1 - 2022-06-29

Fixes

  • Log messages from Sphinx's startup are now captured and forwarded onto the language client. (#408)
  • Log messages from the server's startup are now captured and forwarded onto the language client. (#417)
  • Fixed handling of default roles when getting a document's initial doctree. (#418)

API Changes

  • Improved type annotations allow rst.get_feature to be called with a language feature's type and have the return type match accordingly. This should allow editors to provide better autocomplete suggestions etc. (#409)

  • esbonio_setup functions can now request specific language features and servers, just by providing type annotations e.g:

    from esbonio.lsp.roles import Roles
    from esbonio.lsp.sphinx import SphinxLanguageServer
    
    def esbonio_setup(rst: SphinxLanguageServer, roles: Roles):
        ...
    

    This function will then only be called when the language server is actually an instance of SphinxLanguageServer and only when that lanuage server instance contains an intance of the Roles feature. (#410)

Deprecated

  • Calling rst.get_feature with a string will become an error in v.1.0, a language feature's class should be given instead. (#409)

Esbonio VSCode Extension v0.9.2 - 2022-06-07

07 Jun 21:53
Compare
Choose a tag to compare

v0.9.2 - 2022-06-07

Fixes

  • The esbonio.server.pythonPath setting now accepts paths relative to ${workspaceFolder}.

    Note This is simply an alias for the existing ${workspaceRoot} functionality. (#404)

Esbonio Language Server v0.13.0 - 2022-05-27

27 May 22:38
Compare
Choose a tag to compare

v0.13.0 - 2022-05-27

Features

  • Add initial textDocument/hover support, with documentation for roles and directives being shown.

    Add > to completion triggers. (#311)

Fixes

  • The language server now correctly handles diagnosics originating from .. c:function:: directives. (#393)

Esbonio VSCode Extension v0.9.1 - 2022-05-25

25 May 21:20
Compare
Choose a tag to compare

v0.9.1 - 2022-05-25

Fixes

  • The correct value of the esbonio.sphinx.doctreeDir setting is used when constructing the initializationOptions to send to the server. (#390)

Enhancements

  • Language status items are now shown in a project's conf.py, while also correctly being omitted for rst files not under the project's srcDir (#391)