Skip to content
Pokey Rule edited this page Aug 11, 2021 · 9 revisions

Scope types

  • "char"
  • "word"
  • "token"
  • "line"
  • "sentence"
  • "paragraph"
  • "funk", "class", "state", etc
  • "glyph dollar"
  • "instance" (expands to containing token if input has zero width)
  • "instance air" => better to use just "air"? Maybe not because that might cause ambiguity with "first five " vs "first [instance] five". Tho maybe this is actually fine?
  • "reference" (expands to cursor token)
  • "reference air"
  • "global reference air"
  • "round"
  • "pair" (matches any of "round", "square" etc)
  • "file"

Grammatical constructions

In these examples, "line", "funk", and "class" could be any of the above scope types.

  • "air"
  • "past air"
  • "air past bat"
  • "air and bat"
  • "air past bat and cap"
  • "air and bat past cap"
  • "line air"
  • "past line air"
  • "line air past bat"
  • "line air and bat"
  • "line air past bat and cap"
  • "line air and bat past cap"
  • "air past line bat"
  • "air and line bat"
  • "air past line bat and cap"
  • "air and line bat past cap"
  • "line air past funk bat"
  • "line air and funk bat"
  • "line air past funk bat and cap"
  • "line air and funk bat past cap"
  • "line air past bat and funk cap"
  • "line air and bat past funk cap"
  • "line air past funk bat and class cap"
  • "line air and funk bat past class cap"
  • "every line"
  • "every line [in] air"
  • "every line [in] funk"
  • "every line [in] funk air"
  • "every line [in] air past bat"
  • "every line [in] funk air past bat"
  • "first line"
  • "first line [in] air"
  • "first line [in] funk"
  • "first line [in] funk air"
  • "next line"
  • "last line"
  • "last line [in] air"
  • "last line [in] funk"
  • "last line [in] funk air"
  • "first line after air"
  • "first line after funk"
  • "first line after funk air"
  • "first line before"
  • "first line before air"
  • "first line before funk"
  • "first line before funk air"
  • "past end of air"
  • "past end of funk"
  • "past end of funk air"
  • "air past end of funk"
  • "air past end of funk bat"
  • "lines past end of air"
  • "lines past end of funk"
  • "lines past end of funk air"
  • "line air past end of funk"
  • "line air past end of funk bat"
  • "every line past end of air"
  • "every line past end of funk"
  • "every line past end of funk air"
  • "every line air past end of funk"
  • "every line air past end of funk bat"
  • "past next line"
  • "lines past next funk"
  • "every line past next funk"
  • "past first line"
  • "lines past first funk"
  • "every line past first funk"
  • "past first line before"
  • "lines past first funk before"
  • "every line past first funk before"
  • "past first line before funk"
  • "lines past first funk before class"
  • "every line past first funk before class"
  • "past first line after class"
  • "past first line in next class"
  • "past last line in next class"
  • "past second line in class"
  • "past first line in second funk in next class"
  • "past first line in second funk in next class air"
  • "air past first line in second funk in next class"

Questions

  • How do these modifiers interact with other modifiers?
    • "reversed"
    • "snipify T with holes T[]"

Examples where we want zipping semantics

Do we want instead to use “square-ify round” or “square-ify bound round”?

How to do this while staying within jq world?

  • “Change bound round to square”
  • “Insert count before every line”