Giter Site home page Giter Site logo

amedama41 / vvimpulation Goto Github PK

View Code? Open in Web Editor NEW
10.0 7.0 3.0 636 KB

A Firefox add-on which provides keyboard navigation like Vim

Home Page: https://addons.mozilla.org/en-US/firefox/addon/vvimpulation/?src=api

License: MIT License

JavaScript 93.76% CSS 2.35% HTML 3.84% Makefile 0.05%

vvimpulation's Introduction

VVimpulation

A Firefox add-on which provides keyboard navigation like Vim

Permissions

VVimpulation uses the following WebExtensions API permissions.

  • bookmarks: Open bookmarks by open console commands.
  • clipboardRead: Paste values from the clipboard by pasteValue command.
  • clipboardWrite: Copy texts to the clipboard by yankCurrentURL and etc.
  • downloads: Download links by downloadLink, and manage download items by download console command.
  • find: Highlight search results by search commands.
  • history: Open URLs from browser history by open console commands, and manage the history by history console command.
  • sessions: Reopen tabs and windows by undoTab and undoWindow console commands, and save window size by snapping window commands.
  • storage: Save options, registers, and console command history.
  • tabs: Get tab information by buffer and undoTab console commands.
  • webNavigation: Manage child frames, and overwrite error pages.

VVimpulation also use all host permissions in order to get search suggestions in open console commands.

Release Notes

1.5

Command

  • Add contextmenu command.
  • Add bunload console command.
  • Add bdelete console command.

Enhancement

  • Reset command key sequence if hint target is changed.
  • Suppress browser popup to overlap with console.
  • Use original URL with toConsoleModeWithURL in overwritten error page.

Bugfix

  • Fix the issue that console candidate list does not sometimes disappeared.
  • Fix failure to overwrite error page.
  • Fix broken search selection commands.
  • Fix normal mode command count.

1.4

Command

  • Add nop command, which does nothing.
  • Add mark and jumpToMark command. These are no longer implicit normal mode's commands.
  • Add recordMacro and playMacro. These are no longer implicit normal mode's commands, but which are available in only normal mode.
  • Add viewSource command.
  • Add deleteCharForward command.

Enhancement

  • Enable to wrap source lines on a source page.
  • Check patterns of key sequence on the option page.
  • Ignore Document not cached error
  • Enable to change the mode to insert by user click.

Bugfix

  • Update error message after removing key bindings on the option page.
  • Fix the issue that fixedFocusin causes scroll in some pages.
  • Not show candidates when console is closing.

1.3

Command

  • Add extendSelection search and continueSearch for visual mode.
  • Add toConsoleModeWithSelection command.
  • Add pasteValue command for console mode.
  • Add showHistoryList command for console mode.
  • Add marks console command.
  • Add hint console command.

Enhancement

  • Enable to search text on only the current frame by search commands.
  • Apply decodeURI to the URL of toConsoleModeWithURL.
  • Restore focus when hint filter finish.
  • Enhance console candidate filtering.
  • Exclude SSL unknown issuer error from the overwriteErrorPage target.
  • Change default value of overwriteErrorPage, which has some issues.
  • Implement console autocomplete.
  • Enable to select/undo tab or window by text on buffer/undo commands.
  • Check current mode to avoid invalid mode changing.
  • Display all attributes except style by showElementInfo.
  • Ignore hidden input elements for toInsertMode commands.
  • Show message when no hints are found.
  • Now hint highlighting does not interfere mouse operation.
  • Defer console creation to avoid broken loading for some pages.
  • Exclude elements under scrollbar from hint target.
  • Handle key events in top frame when the mode is hint. This enhance the response performance.
  • Prevent animations for hint highlighting.
  • Reduce communication with the background script when changing to normal mode.
  • Prevent scrollbar occurrence by hint highlighting.
  • Invoke compose command synchronously if all subcommands are synchronous.
  • Enable to activate label elements by click commands

Bugfix

  • Enable background commands to use arguments.
  • Close the filter console even when mode changing due to tab select.
  • Exclude console frame from hint target.
  • Fix command ambiguous error message.
  • Fix errors when selecting document node.

1.2

Command

  • Add showElementInfo command.
  • Add toggleTransparency hint command.
  • Add toggleTabPinning command.
  • Add toggleTabMute command.

Enhancement

  • Distinguish key patterns with shift and other modifiers from the patterns without shift.
  • Exclude elements on edge of viewpoint from hint target.
  • Change to the normal mode from the hint more smoothly.
  • Highlight a current active hint target element.
  • Prevent page auto focus to steal a focus from the console.
  • Block extendSelection always traverse the sub tree under body or html node.
  • Avoid to set caret at the head of a non-displayed text.
  • Generate mousedown and mouseup events in smartOpen commands.
  • Optimize the speed of displaying hint labels for huge pages.
  • Handle keyup events in order to suppress keyup event actions defined by pages.
  • Finish visual mode when other frame is focused.
  • Show hint label on the position not covered by the ancestors.
  • Change hint label color.
  • Check ancestor covering for area elements.
  • Add tr into default code hint pattern.

Bugfix

  • Calculate frame areas taking into account the frame padding and border.
  • Fix the timing to do automatic killHover.
  • Fix the issue that the count of repeatLastCommand may be reset.
  • Fix the mousemove target of mousein / mouseout commands.
  • Fix calculation for poly shape area's rectangle.
  • Fix that tiny-macro can not record 0.
  • Fix error page when the URL has ampersands.

1.1

Command

  • Deprecate findNext/findPrevious/findSelectionForward/findSelectionBackward command names. Add searchNext/searchPrevious/searchSelectionForward/searchSelectionBackward commands instead.
  • Add execCommand command.
  • Add search command.

Enhancement

  • Add p tag to the default code hint pattern.
  • Add the word "target" to the description of commands using a target.
  • Keep insert mode even when other window is focused.
  • Enable to repeat last console command execution.
  • Enable to scroll by count value pixels.
  • Not export empty key mapping entries to a options file.
  • Scroll to new key mapping entry when it is added in the options page.

Bugfix

  • Fix block extendSelection for the case that document's body has text children.
  • Fix that selection may be cleared by caret display.
  • Fix extracting error URL in error page.
  • Finish hint mode on all frames when one frame changes the mode.
  • Fix that some commands use count incorrectly.
  • Remove search highlighting if no text is matched.
  • Fix that setCaret can set a caret on comment node.
  • Fix viewSelectionSource when selecting only text in a HTMLElement.
  • Fix snapping window size.

vvimpulation's People

Contributors

amedama41 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

vvimpulation's Issues

Use key code

If you use more than one keyboard layouts hotkeys don't work on not english layout. Key code, not symbol, can fix it. And... I can rewrite config myself, but i don't know how to present a key as a code. How to do it?

Auto-insert mode on user click/focus

Hi there,

First of all, thanks for the extension, works awesome so far.

I have a small question: Is it possible to enter automatically into insert mode when a text area is focused (either via hint mode / tab / or user click)? I've seen Enable to change the mode to insert by user click. on the 1.4 version enhancements but I am not sure if that means the thing I understand (or I couldn't find where to activate it).

Thanks ๐Ÿ‘

Caret mode in text fields

Caret mode seems to be broken. While in text fields if you Ctr+[ out of insert mode and Ctrl+V into caret mode, it still types. It would be nice to use the same vim navigation in our text fields (w, B, e, etc.)

Join forces?

Hi,

We develop a similar add-on for Firefox, Tridactyl.

Would you be interested in working together?

You have some features that we don't:

  • Visual mode
  • Find mode

and we have some that you might like:

  • Native messenger (i.e, edit-in-vim, open about:* pages)
  • Help page

I don't know what the collaboration would look like but I thought I should just make you aware of our existence and friendliness :)

Hints don't appear after update to version 61

After the browser update to version 61, hints have stopped to appear when pressing the corresponding keys.

The console contains the following error:

Change mode error: rectList.filter is not a function (moz-extension://f18d1a33-ce23-41cc-b58f-8256fa037f7b/content_scripts/hint_mode.js:573)

Other VV functions seem working fine.

Linux (Arch); FF 61; VV 1.3

Scrolling in Console Mode

Hello,
First off I'd like to say how much I love your add-on! It really makes using the firefox browser that much more everything.
Secondly, I come into a problem using the plugin.
Namely that when there are upwards of 100 entries in history or tabopen,
there appears to be no way to scroll up or down without using ,
and when using the tab key the console mode buffer itself does not follow the highlighted selection if
it goes outside the original range of entries in the console mode buffer.

custom bookmarks tabopen

Hello,
I migrated from using Vim Vixen to Vvimpulation.
There is a great deal more aesthetic appeal for me to use Vvimpulation over Vim Vixen.
However, I'd like to request a feature either that opens the bookmarks directly into the black pop-up frame buffer with the use of a shortcut and corresponding command, like ":tabopen," or add sub-divisions to the search distinguishing between the bookmarks, and history entries of the search.
My excuses if this feature exists and I have been too impatient in reading the documentation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.