Skip to content

nanki/vim-objj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Vim Objective-J plugin.

##Install

$ git clone git://github.com/nanki/vim-objj
$ vi .vimrc
set runtimepath+=path/to/objjvim

##Demo Checkout Youtube movie that shows the plugin in action.

YouTube - Objective-J Completion in Vim

##Requirements

  • Vim compiled with Ruby.
  • neocomplcache or AutoComplePop (optional)

##Features

###Smartbrackets If you type unmatched ],

[CPButton alloc] ]

Smartbrackets will add [ before [ which matches the last ] and move the cursor before ] which you typed. (indicated with ^ below)

[[CPButton alloc] ]
                  ^

In another case, if you type ] after an Objective-J method,

[CPButton alloc] init]

Smartbrackets will add a bracket and move the cursor just after the letter you typed then.

[[CPButton alloc] init]
                       ^

###Omni-completion By typing C-x C-o, you can use omni-completion anywhere you should input class names, methods and constants. The plugin provides an Objective-J omni-completion according to precalculated class databases(*.jd files).
By default, the repository includes the databases for Foundation.framework and AppKit.framework

The plugin complete class name, class methods and instance methods at the positions indicated below.

var button = [CPB
                 ^
var button = [CPButton al
                         ^
var button = [CPButton alloc] in
                                ^
var button = [[CPButton alloc] init];

###Type estimation When the receiver is not a class name, type estimation will be taking place.

var button = [CPButton alloc] in

vim : Um... [CPButton alloc] seems to return (id), maybe (CPButton).

Here are various types of estimation.

####Arguments

- (void)setWindow:(CPWindow)window {
  [window setFra
                ^

vim : Hmm... window should be an instance of CPWindow.

####Variable Assignment

var button = [[CPButton alloc] init];
[button
        ^

vim : Mmm... button may be an instance of CPButton.

####self and super Estimates types from type declarations.

@implementation CPCustomWindow: CPWindow {
  ...

  [self cont
            ^

vim : self should be an instance of CPCustomWindow...

##Links

About

Vim Completion for Objective-J and Cappuccino

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published