Vim syntax highlighting for the [Fancy](http://fancy-lang.org) programming language.
Fancy Vim script
Switch branches/tags
Nothing to show
Pull request Compare This branch is 6 commits behind nuclearsandwich:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ftdetect
syntax
README.md
sample.fy

README.md

fancy.vim

Syntax highlighting, and eventually plugin, for the Fancy programming language. G

What Works

  • Keywords
    • class
    • def
    • try
    • catch
    • finally
    • retry
    • return
    • return_local
    • require:
    • match
    • ->
    • =>
    • case
  • Constants
  • Special Variables -true,false,nil,self,super`
  • Conditional message selectors
    • if:then:, if:then:else:, unless:then:, unless:then:else, if_true:, if_false:
  • Loop message selectors
    • while:do:, until:do:, loop:
  • Blocks
    • { .. } are recognized but nothing is done with them as yet
  • Literal Strings (without interpolation)
  • Literal Numbers
  • Literal Symbols
  • Here Documents
  • Comments
  • Slots (instance and class variables)
  • Dynamically scoped variables (`stdin, stdout, stderr)

Nasty Gotchas

Valid characters for symbols := % ^ & * - + = : | < > [ ] ? ! ~ Valid characters for identifiers := % ^ & * - + = < > ? ! ~

What Needs Work

  • Indenting Block Openings
  • De-indenting Block Closes
  • Block arguments
  • Method Selectors
  • Method Sends
  • Interpolated Strings
  • Async
  • Futures
  • And all the stuff I haven't seen or thought of yet.

Installation

This plugin is meant to be installed with pathogen