Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

coc-webview

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

coc-webview

Vscode webview ported to coc.nvim

latest
npmnpm
Version
0.12.0
Version published
Weekly downloads
233
-89.87%
Maintainers
1
Weekly downloads
 
Created
Source

coc-webview

Webview panel ported to coc.nvim

Install

:CocInstall coc-webview

Lists

:CocList webview

Webview as API

Install the coc-webview to devDependencies

// import only type
import type { WebviewAPI, WebviewPanel } from 'coc-webview';

// fetch API
let webviewExt: Extension<WebviewAPI> | undefined;

const getWebviewAPI = () => {
  if (!webviewExt) {
    webviewExt = extensions.all.find((ext) => ext.id === 'coc-webview') as Extension<WebviewAPI> | undefined;
  }
  if (!webviewExt) {
    const hint = 'Please install the coc-webview extension';
    void window.showErrorMessage(hint);
    throw new Error(hint);
  }
  return webviewExt.exports;
};

// create webview panel
export async function example(): Promise<void> {
  const panel = await getWebviewAPI().createWebviewPanel(
    // viewType
    'markdown-preview-enhanced',
    // title
    `Preview markdown`,
    {
      // open in browser
      openURL: true,
      // route name
      routeName: 'markdown-preview-enhanced',
    },
    {
      localResourceRoots: [...],
      enableScripts: true,
    }
  );

  // update title
  panel.title = 'Preview markdown-2'

  // update html
  panel.webview.html = '<html>...</html>'

  // postMessage
  panel.webview.postMessage({type: 'command', 'token': 'xxx'})

  this.onDidReceiveMessage((msg: {type: string, token: string}) => {
    // msg.type
  });

  cosnt util = getWebviewAPI().util;
  util.openUri('https://domain.com/');
}

Configurations

Usage: https://github.com/neoclide/coc.nvim/wiki/Using-the-configuration-file

  • webview.debug: Enable debug mode
  • webview.colorStrategy: Color strategy for webview
  • webview.primaryColors: Primary colors for webview
  • webview.minPort: Mix port for webview service
  • webview.maxPort: Max port for webview service
  • webview.openCommand: Command template for open webview, arguments(%u webview url), example: chrome "%u"

TODO

  • dark mode
  • webview reveal
  • display iconPath
  • vim keybinding
  • cspSource

License

MIT

This extension is built with create-coc-extension

Keywords

coc.nvim

FAQs

Package last updated on 06 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts