New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

hyperclick

Package Overview
Dependencies
Maintainers
2
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hyperclick

Pluggable text-clicking UI for Atom

latest
Source
npmnpm
Version
0.0.40
Version published
Weekly downloads
5
-64.29%
Maintainers
2
Weekly downloads
 
Created
Source

Hyperclick

Pluggable text-clicking UI for Atom.

Hyperclick is triggered by two events:

  • <alt> or <alt-mousemove> underlines clickable text under the mouse.
  • <alt-mousedown> performs the action associated with the clickable text.
  • <cmd-alt-enter> performs the action on the text under the cursor.

Known Providers

  • Nuclide features like nuclide-buck-files, nuclide-clang-atom, nuclide-flow, nuclide-hack and nuclide-ocaml.
  • js-hyperclick Jump to variable definitions, including when imported/required from another file
  • hyperclick-php Locate php classes with the help of composer, and open the file
  • go-plus Jump to definition for go

Demo

Install hyperclick with this demo package to recreate the screencast below.

hyperclick-demo

Provider API

Example

Declare the provider callback in the package.json (e.g. getProvider).

"providedServices": {
  "hyperclick.provider": {
    "versions": {
      "0.0.0": "getProvider"
    }
  }
}

Define the provider callback in lib/main.js.

export function getProvider() {
  return {
    getSuggestionForWord(
      textEditor: TextEditor,
      text: string,
      range: Range
    ): ?HyperclickSuggestion {
      return {
        // The range(s) to underline as a visual cue for clicking.
        range,
        // The function to call when the underlined text is clicked.
        callback() {},
      };
    },
  };
}

Details

You must define one of these methods on the provider:

  • getSuggestionForWord(textEditor: TextEditor, text: string, range: Range)

    Use this to provide a suggestion for single-word matches. Optionally set wordRegExp on the provider to adjust word-matching.

    • textEditor: The text editor the event originated from.
    • text: The string containing the word under the mouse.
    • range: The buffer position of text in the text editor.
  • getSuggestion(textEditor: TextEditor, position: Point)

    Use this to provide a suggestion if it can have non-contiguous ranges. A primary use-case for this is Objective-C methods.

    • textEditor: The text editor the event originated from.
    • position: The buffer position of the mouse in the text editor.

The methods return a suggestion or a Promise that resolves to a suggestion:

  • range: A range or array of ranges to underline as a visual cue for clicking.

    To distinguish ranges and arrays, this can't be a Range-compatible array. For example, use new Range([0, 0], [0, 10]) instead of [[0, 0], [0, 10]].

  • callback: The function to call when the underlined text is clicked.

    If there are multiple possibilities, this can be an array of objects with:

    • title: A string to present in the UI for the user to select.
    • rightLabel(optional): An indicator denoting the "kind" of suggestion this represents
    • callback: The function to call when the user selects this object.

Additional properties:

  • priority: The higher this is, the more precedence the provider gets.

    Hyperclick only returns suggestions from a single provider, so this is a workaround for providers to override others. priority defaults to 0.

Keywords

nuclide

FAQs

Package last updated on 16 May 2017

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