Giter VIP home page Giter VIP logo

vim-factor's Introduction

Vim support for Factor

This directory contains various support files that make editing Factor code more pleasant in Vim.

Installation

The file-layout exactly matches the Vim runtime structure, so you can install them by copying the contents of this directory into ~/.vim/ or the equivalent path on other platforms (Open Vim and type :help 'runtimepath' for details).

File organization

The current set of files is as follows:

  • ftdetect/factor.vim - Teach Vim when to load Factor support files.
  • ftplugin/factor.vim - Teach Vim to follow the Factor Coding Style guidelines.
  • plugin/factor.vim - Teach Vim some commands for navigating Factor source code. See below.
  • syntax/factor.vim - Syntax highlighting for Factor code.

Commands

The plugin/factor.vim file implements the following commands for navigating Factor source.

:FactorVocab factor.vocab.name

Opens the source file implementing the factor.vocab.name vocabulary.

:NewFactorVocab factor.vocab.name

Creates a new factor vocabulary under the working vocabulary root.

:FactorVocabImpl

Opens the main implementation file for the current vocabulary (name.factor). The keyboard shortcut <Leader>fi is bound to this command.

:FactorVocabDocs

Opens the documentation file for the current vocabulary (name-docs.factor). The keyboard shortcut <Leader>fd is bound to this command.

:FactorVocabTests

Opens the unit test file for the current vocabulary (name-tests.factor). The keyboard shortcut <Leader>ft is bound to this command.

Configuration

In order for the :FactorVocab command to work, you'll need to set some variables in your vimrc file.

g:FactorRoot

This variable should be set to the root of your Factor installation. The default value is ~/factor.

g:FactorVocabRoots

This variable should be set to a list of Factor vocabulary roots. The paths may be either relative to g:FactorRoot or absolute paths. The default value is ["core", "basis", "extra", "work"].

g:FactorNewVocabRoot

This variable should be set to the vocabulary root in which vocabularies created with NewFactorVocab should be created. The default value is work.

Note

The syntax-highlighting file is automatically generated to include the names of all the vocabularies Factor knows about. To regenerate it manually, run the following code in the listener:

"editors.vim.generate-syntax" run

or run it from the command line:

factor -run=editors.vim.generate-syntax

vim-factor's People

Contributors

brandonbloom avatar

Watchers

James Cloos avatar  avatar

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.