std.block.navigate

backspace

added in 3.0

(backspace nav)

the reverse of insert

block

added in 3.0

(block nav)

returns the current block

block?

(block? zip)(block? zip step)

children

(children zip)(children zip step)

comment?

(comment? zip)(comment? zip step)

container?

(container? zip)(container? zip step)

delete

added in 3.0

(delete nav)

deletes the current element

delete-left

added in 3.0

(delete-left nav)

deletes left of the current expression

delete-right

added in 3.0

(delete-right nav)

deletes right of the current expression

delete-spaces-left

added in 4.0

(delete-spaces-left nav)

deletes spaces to the left

delete-spaces-right

added in 4.0

(delete-spaces-right nav)

deletes spaces to the left

display-navigator

added in 3.0

(display-navigator nav)

displays a string representing the navigator

down

added in 3.0

(down nav)

navigates into the form

eof?

(eof? zip)(eof? zip step)

expression?

(expression? zip)(expression? zip step)

find-next

added in 4.0

(find-next nav pred)

finds the next expression

find-next-token

added in 3.0

(find-next-token nav data)

moves to the next token

find-prev

added in 4.0

(find-prev nav pred)

finds the previous token or whitespace

find-prev-token

added in 4.0

(find-prev-token nav data)

finds the previous token

from-status

added in 3.0

(from-status block)

constructs a navigator from a given status

height

(height zip)(height zip step)

info

(info zip)(info zip step)

insert-all

added in 3.0

(insert-all nav [data & more :as arr])

inserts all expressions into the block

insert-empty

added in 3.0

(insert-empty nav data)

inserts an element into an empty container

insert-newline

added in 3.0

(insert-newline nav)(insert-newline nav num)

insert newline/s into the block

insert-raw

added in 4.0

(insert-raw nav data)

inserts a raw element

insert-space

added in 3.0

(insert-space nav)(insert-space nav num)

insert space/s into the block

insert-token

added in 4.0

(insert-token nav data)

standard insert token

insert-token-to-left

added in 3.0

(insert-token-to-left nav data)

inserts an element to the left

insert-token-to-right

added in 3.0

(insert-token-to-right nav data)

inserts an element to the right

left

added in 3.0

(left nav)

moves to the left expression

left*

added in 3.0

(left* nav)

navigates to left element, including whitespace

left-anchor

added in 3.0

(left-anchor nav)

calculates the length to the last newline

left-expression

added in 3.0

(left-expression nav)

returns the expression on the left

left-expressions

added in 3.0

(left-expressions nav)

returns all expressions on the left

left-most

added in 3.0

(left-most nav)

moves to the left-most expression

left-most-token

added in 3.0

(left-most-token nav)

moves to the left-most token

left-most?

added in 3.0

(left-most? nav)

checks if navigator is at left-most

left-token

added in 3.0

(left-token nav)

moves to the left token

length

(length zip)(length zip step)

level-empty?

added in 3.0

(level-empty? nav)

checks if current container has expressions

line-info

added in 3.0

(line-info nav)

returns the line info for the current block

linebreak?

(linebreak? zip)(linebreak? zip step)

linespace?

(linespace? zip)(linespace? zip step)

modifier?

(modifier? zip)(modifier? zip step)

nav-template

added in 3.0

(nav-template sym var)

generates a navigation function definition from a given symbol and a block tag function

navigator

added in 3.0

(navigator block)(navigator block opts)

creates a navigator for the block

navigator?

added in 3.0

(navigator? obj)

checks if object is navigator

next

added in 3.0

(next nav)

moves to the next expression

next-anchor

added in 3.0

(next-anchor nav)

moves to the next newline

next-token

added in 3.0

(next-token nav)

moves to the next token

parse-first

added in 4.0

(parse-first string)

parses the navigator from the first form

parse-root

added in 3.0

(parse-root string)

parses the navigator from root string

parse-root-status

added in 3.0

(parse-root-status string)

parses string and creates a navigator from status

parse-string

added in 3.0

(parse-string string)

creates a navigator from string

position-left

added in 3.0

(position-left nav)

moves the cursor to left expression

position-right

added in 3.0

(position-right nav)

moves the cursor the right expression

prefixed

(prefixed zip)(prefixed zip step)

prev

added in 3.0

(prev nav)

moves to the previous expression

prev-anchor

added in 3.0

(prev-anchor nav)

moves to the previous newline

prev-token

added in 3.0

(prev-token nav)

moves to the previous token

replace

added in 3.0

(replace nav data)

replaces an element at the cursor

replace-splice

added in 3.0

(replace-splice nav data)

replaces an element at the cursor

right

added in 3.0

(right nav)

moves to the expression on the right

right*

added in 3.0

(right* nav)

navigates to right element, including whitespace

right-expression

added in 3.0

(right-expression nav)

returns the expression on the right

right-expressions

added in 3.0

(right-expressions nav)

returns all expressions on the right

right-most

added in 3.0

(right-most nav)

moves to the right-most expression

right-most-token

added in 3.0

(right-most-token nav)

moves to the right-most token

right-most?

added in 3.0

(right-most? nav)

checks if navigator is at right-most

right-token

added in 3.0

(right-token nav)

moves to the right token

root-string

added in 3.0

(root-string nav)

returns the top level string

space?

(space? zip)(space? zip step)

string

(string zip)(string zip step)

suffixed

(suffixed zip)(suffixed zip step)

swap

added in 3.0

(swap nav f)

applies a function to the element at the current cursor position, replacing it with the result

tag

(tag zip)(tag zip step)

tighten

added in 3.0

(tighten nav)

removes extra spaces on both the left and right

tighten-left

added in 3.0

(tighten-left nav)

removes extra spaces on the left

tighten-right

added in 3.0

(tighten-right nav)

removes extra spaces on the right

token?

(token? zip)(token? zip step)

top

added in 4.0

(top nav)

moves cursor to the top

type

(type zip)(type zip step)

up

added in 3.0

(up nav)

navigates outside of the form

update-children

added in 3.0

(update-children nav children)

replaces the current children

update-step-inside

added in 3.0

(update-step-inside nav block)

updates the step position to within a block

update-step-inside-left

added in 3.0

(update-step-inside-left nav block)

updates the step position to within a block (-> {:position 0 3} (update-step-inside-left (construct/block #{}))) => {:position 0 2}

update-step-left

added in 3.0

(update-step-left nav lblock)

updates the step position to the left

update-step-outside

added in 3.0

(update-step-outside nav left-blocks)

updates the step position to be outside a block

update-step-right

added in 3.0

(update-step-right nav block)

updates the step position to the right

value

(value zip)(value zip step)

value-string

(value-string zip)(value-string zip step)

verify

(verify zip)(verify zip step)

void?

(void? zip)(void? zip step)

width

(width zip)(width zip step)