ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Argument Noun

by nliberg ST2/ST3

Sublime Text plugin that extends Vintage with a function argument ('a') noun

Details

  • 2013.10.30.11.46.25
  • github.​com
  • github.​com
  • 4 years ago
  • 60 minutes ago
  • 4 years ago

Installs

  • Total 302
  • Win 217
  • OS X 38
  • Linux 47
Dec 14 Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8 Dec 7 Dec 6 Dec 5 Dec 4 Dec 3 Dec 2 Dec 1 Nov 30 Nov 29 Nov 28 Nov 27 Nov 26 Nov 25 Nov 24 Nov 23 Nov 22 Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15 Nov 14 Nov 13 Nov 12 Nov 11 Nov 10 Nov 9 Nov 8 Nov 7 Nov 6 Nov 5 Nov 4 Nov 3 Nov 2 Nov 1 Oct 31
Windows 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
OS X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

Argument Noun

Overview

Argument Noun is a Sublime Text 3 plugin that extends the Vintage mode with a new arguments noun (text object): 'a'. It is is similar to the argtextobj plugin for Vim by Takahiro Suzuki.

Example: let's say you are editing foo(a, b*(c+d)) and the caret is somewhere inside the second argument. Triggering the change-inner-argument operation by typing cia then gives you foo(a, ) and you can insert some text to replace the old argument.

Read more about verbs, nouns and modifiers

Usage

  • delete an argument with daa
  • change inner argument with cia
  • select inner argument with via
  • yank inner argument with yia

Installation

or

  • clone to your Sublime Text 3 Packages folder located at
    • Windows: %APPDATA%\Sublime Text 3
    • OS X: ~/Library/Application Support/Sublime Text 3
    • Linux: ~/.config/sublime-text-3

Notes

The plugin is quite syntax agnostic. It however makes the assumption that an argument list is wrapped in parenthesis, is preceded by a function name identifier, and that arguments are comma separated.

If two identifiers are separated by only a newline and white space it is assumed that a right parenthesis after the first identifier is missing, i.e.

myfunction(a, b, c
x = 5

is handled as if c had been followed by ). This ensures that the argument region does not get too large in case of incorrect syntax.

Only commas at the correct level of nesting are treated as argument separators so eg. usage of Python tuples shouldn't pose any problem.

Limitations

Method calls without parenthesis (like in Ruby) are not supported at this time.

Comments intermingled with arguments are not supported at this time.

License

MIT License

Contributors

Created by Nils Liberg