From 060463c3a486b8d016be1ec9cd9ed172826586da Mon Sep 17 00:00:00 2001 From: Denis Cornehl Date: Mon, 2 May 2022 14:06:54 +0200 Subject: [PATCH] add RustOpenExternalDocs to open docs.rs or rust docs in the browser --- README.md | 1 + lua/rust-tools.lua | 3 +++ lua/rust-tools/external_docs.lua | 17 +++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 lua/rust-tools/external_docs.lua diff --git a/README.md b/README.md index 4a33aa1..7cd08fe 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ RustDebuggables RustViewCrateGraph RustReloadWorkspace RustSSR +RustOpenExternalDocs ``` ## Standalone File Support diff --git a/lua/rust-tools.lua b/lua/rust-tools.lua index 700e629..7ebbe36 100644 --- a/lua/rust-tools.lua +++ b/lua/rust-tools.lua @@ -15,6 +15,9 @@ local function setup_commands() RustSetInlayHints = { require("rust-tools.inlay_hints").set_inlay_hints, }, + RustOpenExternalDocs= { + require("rust-tools.external_docs").open_external_docs, + }, RustDisableInlayHints = { require("rust-tools.inlay_hints").disable_inlay_hints, }, diff --git a/lua/rust-tools/external_docs.lua b/lua/rust-tools/external_docs.lua new file mode 100644 index 0000000..d633e12 --- /dev/null +++ b/lua/rust-tools/external_docs.lua @@ -0,0 +1,17 @@ +local M = {} +local utils = require("rust-tools.utils.utils") + +function M.open_external_docs() + utils.request( + 0, + "experimental/externalDocs", + vim.lsp.util.make_position_params(), + function(_, url) + if url then + vim.fn["netrw#BrowseX"](url, 0) + end + end + ) +end + +return M