Home

Awesome

WhileySyntaxBundle

This provides TextMate and Sublime bundles to enable syntax highlighting for programs written in the Whiley. This also serves as the grammar for github/linguist (which enables syntax highlighting on Github).

An example Whiley program is the following:

type nat is (int x) where x >= 0

function indexOf(int[] items, int item) -> (int r)
// If valid index returned, element matches item
ensures r >= 0 ==> items[r] == item
// If invalid index return, no element matches item
ensures r <  0 ==> all { i in 0..|items| | items[i] != item }
// Return value is between -1 and size of items
ensures r >= -1 && r < |items|:
    //
    nat i = 0
    while i < |items|
        where all { k in 0 .. i | items[k] != item }:
        //    
        if items[i] == item:
            return i
        i = i + 1
    //
    return -1

Install (Sublime)

Eventually you will be able to install via PackageControl. For now, you can copy the whiley.submlime-text file into .config/sublime-tests/Packages/User.

Install (TextMate)

mkdir -p ~/Library/Application\ Support/TextMate/Bundles
cd ~/Library/Application\ Support/TextMate/Bundles
git clone git://github.com/Whiley/WhileySyntaxBundle Whiley.tmbundle

Developers

The single source of truth is the file Syntaxes/whiley.YAML-tmLanguage. This is used to generate the remaining files: