examples/git-commands.js @ ddcf7ddf78f6

Interpreter -> compiler
author Steve Losh <steve@stevelosh.com>
date Wed, 18 Jan 2017 18:04:41 +0000
parents b42ffb104159
children (none)
{
    "noun": [
        "binary blob",
        "packfile",
        "refspec",
        "blob",
        "branch",
        "changeset",
        "commit",
        "conflicted merge",
        "current HEAD",
        "file",
        "head",
        "merge",
        "remote",
        "object",
        "patch",
        "ref",
        "repository",
        "symlink",
        "tag",
        "tip"
    ],
    "shell-noun": [
        "binary-blob",
        "packfile",
        "refspec",
        "blob",
        "branch",
        "changeset",
        "commit",
        "conflicted-merge",
        "current-head",
        "file",
        "head",
        "merge",
        "remote",
        "object",
        "patch",
        "ref",
        "repository",
        "symlink",
        "tag",
        "tip"
    ],
    "shell-noun-cap": [
        "BINARY-BLOB",
        "PACKFILE",
        "REFSPEC",
        "BLOB",
        "BRANCH",
        "CHANGESET",
        "COMMIT",
        "CONFLICTED-MERGE",
        "CURRENT-HEAD",
        "FILE",
        "HEAD",
        "MERGE",
        "REMOTE",
        "OBJECT",
        "PATCH",
        "REF",
        "REPOSITORY",
        "SYMLINK",
        "TAG",
        "TIP"
    ],
    "git-location_": [
        "repository",
        "index",
        "working tree",
        "content-addressable filesystem",
        "object store",
        "reflog",
        "current directory",
        "current repository",
        "current branch",
        "checked-out branch",
        "upstream repository",
        "DAG"
    ],
    "git-folder_": [
        "refs",
        "logs",
        "objects",
        "hooks",
        "HEAD",
        "COMMIT_EDITMSG"
    ],
    "git-folder": [
        ".git/#git-folder_#"
    ],
    "git-location": [
        "the #git-location_#",
        "#git-folder#"
    ],
    "external-location": [
        "Hacker News",
        "Stack Overflow",
        "Twitter",
        "Reddit",
        "Github",
        "Gitlab",
        "Github's status page",
        "/dev/random",
        "/dev/urandom",
        "your .gitconfig",
        "the git man pages",
        "the git source code",
        "your home directory"
    ],
    "location": [
        "#git-location#",
        "#external-location#"
    ],
    "action": [
        "[command:bisect][commanding:bisecting]",
        "[command:clone][commanding:cloning]",
        "[command:commit][commanding:committing]",
        "[command:delete][commanding:deleting]",
        "[command:display][commanding:displaying]",
        "[command:fast-forward][commanding:fast-forwarding]",
        "[command:fetch][commanding:fetching]",
        "[command:merge][commanding:merging]",
        "[command:move][commanding:moving]",
        "[command:print][commanding:printing]",
        "[command:prune][commanding:pruning]",
        "[command:pull][commanding:pulling]",
        "[command:push][commanding:pushing]",
        "[command:record][commanding:recording]",
        "[command:revert][commanding:reverting]",
        "[command:remove][commanding:removing]",
        "[command:rename][commanding:renaming]",
        "[command:reset][commanding:resetting]",
        "[command:resolve][commanding:resolving]",
        "[command:show][commanding:showing]",
        "[command:sign][commanding:signing]",
        "[command:simplify][commanding:simplifying]",
        "[command:update][commanding:updating]",
        "[command:verify][commanding:verifying]"
    ],
    "action-verb": [
        "bisecting",
        "cloning",
        "committing",
        "deleting",
        "displaying",
        "fast-forwarding",
        "fetching",
        "merging",
        "moving",
        "printing",
        "pruning",
        "pulling",
        "pushing",
        "recording",
        "reverting",
        "removing",
        "renaming",
        "resetting",
        "resolving",
        "showing",
        "signing",
        "simplifying",
        "updating",
        "verifying"
    ],
    "refresh": [
        "update",
        "reset"
    ],
    "refreshing": [
        "updating",
        "resetting"
    ],
    "extremum": [
        "newest",
        "oldest",
        "largest",
        "smallest",
        "sparsest",
        "first",
        "last",
        "worst",
        "simplest",
        "best"
    ],
    "adjective": [
        "merged",
        "unmerged",
        "symbolic",
        "uncommitted",
        "signed",
        "unsigned",
        "big-endian",
        "little-endian",
        "childless",
        "binary"
    ],
    "age": [
        "newest",
        "oldest",
        "first",
        "last"
    ],
    "look-for": [
        "search",
        "grep",
        "bisect",
        "filter"
    ],
    "temporal-adverb": [
        "before",
        "after",
        "without"
    ],
    "letter": [
        "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
        "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
        "w", "x", "y", "z"
    ],
    "short-option_": [
        "-#letter#",
        "-#letter# #shell-noun-cap#"
    ],
    "long-option-with-noun": [
        "--#noun#=<#noun#>"
    ],
    "set-fucking-noun": [
        "[noun:#shell-noun#]"
    ],
    "long-option_": [
        "#[#set-fucking-noun#]long-option-with-noun#",
        "--#action-verb#",
        "--#extremum#",
        "--only-#adjective#",
        "--only-#shell-noun.s#",
        "--#action-verb#=<#shell-noun#>"
    ],
    "short-option": [
        "#short-option_#",
        "\\[#short-option_#\\]"
    ],
    "long-option": [
        "#long-option_#",
        "\\[#long-option_#\\]"
    ],
    "short-options": [
        "#short-option#",
        "#short-option# #short-option#"
    ],
    "options": [
        "#long-option#",
        "#short-options#",
        "#short-options# #long-option#",
        "#long-option# #short-options#"
    ],
    "number": [
        "200", "1733", "1925", "1235", "1478", "1770", "365", "269", "1436",
        "1552", "1867", "777", "452", "941", "770", "684", "1405", "1828",
        "1982", "705", "994", "1452", "239", "1619", "1303", "260", "137",
        "1953", "1123", "1697", "246", "1281", "1243", "1970", "668", "288",
        "1387", "1115", "841", "1076", "337", "1539", "273", "888", "1329",
        "830", "1739", "753", "1519", "814", "106", "817", "1562", "1047", "69",
        "869", "1475", "955", "1699", "1128", "1891", "1425", "571", "654",
        "1645", "737", "1353", "325", "1465", "1240", "1102", "1001", "1821",
        "4", "1996", "1016", "921", "920", "384", "1440", "1768", "707", "1372",
        "1053", "1148", "1173", "1412", "261", "100", "213", "1808", "1937",
        "168", "959", "393", "1781", "598", "1602", "454", "1781", "808", "1663"
    ],
    "description": [
        "#look-for# #location# for the #age# #noun# and #command# it",
        "read #number# bytes from #location# and #command# them",
        "#command# the #extremum# #noun# in #git-location#",
        "#command# #noun.a# #temporal-adverb# #refreshing# #git-location#",
        "#command# and push all #adjective# #noun.s# to #location#",
        "#command# all #adjective# #noun.s# in #git-location#",
        "#command# the #extremum# #noun# and merge it into #git-location#",
        "#command# some #noun.s# from a remote",
        "#command# two or more #noun.s# and save them to #location#",
        "move or #command# #noun.a# in #git-location#",
        "rebase #noun.a# onto #location# after #commanding# it",
        "#command# and #refresh# #git-location#",
        "list, #command#, or delete #noun.s#"
    ],
    "origin_": [
        "git #command# #options#\n#description.capitalize#"
    ],
    "origin": [
        "#[#action#]origin_#"
    ]
}