diff --git a/README.md b/README.md index 8bf9ddc..0257069 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,12 @@ A Deno extension for Nova. -- LSP integration with all that brings: typechecking, intellisense, hover cards, - etc. +- LSP integration with all that brings: typechecking, intellisense. - File linting - Document formatting - Symbol renaming -- Remote module support + caching +- Remote module caching +- Registry import suggestions This represents a best effort. It has a few known bugs that need assistance from Panic or Deno — see this repo's issues. @@ -21,9 +21,11 @@ The contents of these exports can be found in `src/nova_deno.ts`. This is where the LanguageClient is set up, commands are registered, listeners are set up, etc. -Much (maybe most?) of the code in this repo has been based on, if not entirely -copied from, [nova-typescript](https://github.com/apexskier/nova-typescript), -which has many useful utilities that could apply to any LSP extension for Nova. +This repo uses many useful utilities that could apply to any LSP extension for +Nova which I originally based on / copied from +[nova-typescript](https://github.com/apexskier/nova-typescript). I have started +pulling these out into a module called +[nova_utils](https://github.com/sgwilym/nova_utils). ## Developing @@ -31,8 +33,4 @@ which has many useful utilities that could apply to any LSP extension for Nova. 2. Select **Extensions -> Activate Project as Extension** in the menu bar (you will need to enable Extension development in the general section of Nova's preferences to do this). -3. Run the 'Bundle' command, which watches for changes and builds* to - `deno.novaextension`. - -- This project uses esbuild rather than Deno to build the project, as Nova - expects the project's modules to be in CommonJS format. +3. Run the 'Bundle' command, which outputs a bundle* to `deno.novaextension`. diff --git a/deno.novaextension/CHANGELOG.md b/deno.novaextension/CHANGELOG.md index e40f3e9..24fc15c 100644 --- a/deno.novaextension/CHANGELOG.md +++ b/deno.novaextension/CHANGELOG.md @@ -1,3 +1,12 @@ +## v0.4.0 + +- Added support for import suggestions! +- Removed configuration file option (Deno will detect it automatically as of + v1.18) +- Added "Restart Deno LSP server" command. +- Added JSON and JSONC as syntaxes this extension can use. +- Fixed a bug where formatting a document would hang indefinitely. + ## v0.3.4 - Makes sure some fixes are actually included in the built extension. diff --git a/deno.novaextension/README.md b/deno.novaextension/README.md index 903bab6..bd44060 100644 --- a/deno.novaextension/README.md +++ b/deno.novaextension/README.md @@ -1,26 +1,32 @@ Very fast JavaScript and Typescript integration, powered by [Deno](https://deno.land). -- Inline Typechecking and Intellisense for Javascript and Typescript! +- Inline typechecking and Intellisense for Javascript and Typescript! - Code linting! - Automatic formatting on save! -- Remote module (e.g. `import { x } from "https://cdn.com/mod.ts"`) support! +- Remote module (e.g. `import { x } from "https://cdn.com/mod.ts"`) caching! +- Registry import suggestions - Task templates for `deno run` and `deno` bundle! **This is pre-v1.0**. While the most important functions of Deno are integrated -here, there are missing features and a few known bugs. This is a best-effort -extension, but it might be good enough to start with! +here, there are a few limitations due to Nova's LSP integration. This is a +best-effort extension, and I will keep making it better as Nova allows! ## Requirements 🎒 -To use this extension, you must have the Deno CLI installed (v.1.10.3 or above). +To use this extension, you must have Deno installed (v.1.10.3 or above). [Here's how you can do that](https://deno.land/#installation). +If you use Deno 1.18+, any deno.json configuration files will be automatically +detected and used by this extension + ## Commands ⌨️ - **Cache** - Cache all external dependencies - **Format Document** - Format with Deno's formatter - **Rename symbol** - Rename variables, functions, etc. +- **Restart Deno LSP server** - You shouldn't have to do this, but it's nice to + have when you start getting angry. ## Configuration options ⚙️ @@ -32,10 +38,8 @@ All of the below can be configured at a global and per-project basis (via - Linting - Unstable Deno APIs -The following can be configured on a per-project lever: - -- Import map -- tsconfig.json +All of those can be defined at a per-project level, including an import map to +use. ## Known bugs 🪳 @@ -47,10 +51,11 @@ with both Panic and the Deno team to resolve them. (`., \, ', /, @, <, #`). - The **Jump to definition** command does not work for values defined within external dependencies. +- JSDocs are not displayed in hovercards ## Mega Shoutouts 📣 -Much of the code in this extension is based on — if not entirely lifted from — +Much of the code in this extension was based on — if not entirely lifted from — Cameron Little's [excellent Nova Typescript extension](https://github.com/apexskier/nova-typescript). diff --git a/deno.novaextension/extension.json b/deno.novaextension/extension.json index cd93d15..bcbe00c 100644 --- a/deno.novaextension/extension.json +++ b/deno.novaextension/extension.json @@ -3,7 +3,7 @@ "name": "Deno", "organization": "Sam Gwilym", "description": "Deno runtime support for Nova.", - "version": "0.3.4", + "version": "0.4.0", "categories": ["languages", "formatters", "issues", "completions", "tasks"], "repository": "https://github.com/sgwilym/nova-deno", "bugs": "https://github.com/sgwilym/nova-deno/issues",