All Projects → tpope → vim-classpath

tpope / vim-classpath

Licence: other
classpath.vim: Set 'path' from the Java class path

Programming Languages

Vim Script
2826 projects

classpath.vim

This plugin sets the 'path' for JVM languages to match the class path of your current Java project. This lets commands like :find and gf work as designed. I originally wrote it for Clojure, but I see no reason why it wouldn't be handy for other languages as well.

Currently, Maven and Leiningen are supported, with a fallback to $CLASSPATH if neither applies. Open an issue if you have ideas for supporting another project management system.

Included is a :Java command, which executes java (or $JAVA_CMD) with the current buffer's 'path' as the class path.

Installation

If you don't have a preferred installation method, I recommend installing pathogen.vim, and then simply copy and paste:

cd ~/.vim/bundle
git clone git://github.com/tpope/vim-classpath.git

Once help tags have been generated, you can view the manual with :help classpath.

FAQ

Why does it take so long for Vim to startup?

The short answer is because the JVM is slow.

The first time you load a Clojure file from any given project, classpath.vim sets about trying to determine your class path, leveraging either lein classpath or mvn dependency:build-classpath. This takes a couple of seconds or so in the best case scenario, and potentially much longer if it decides to hit the network.

Because the class path is oh-so-expensive to retrieve, classpath.vim caches it in ~/.cache/vim/classpath. The cache is expired when the timestamp on project.clj or pom.xml changes.

Contributing

See the contribution guidelines for pathogen.vim.

Self-Promotion

Like classpath.vim? Follow the repository on GitHub. And if you're feeling especially charitable, follow tpope on Twitter and GitHub.

License

Copyright © Tim Pope. Distributed under the same terms as Vim itself. See :help license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].