(:outside)
selects values that appear outside a specific scope (lexically excluded)
(:outside scope val)Where:
Behavior
- The inverse of :inside - finds values that are NOT contained within the specified scope.
- Can be nested with :inside to create complex scope filters.
Examples
Find top-level calls that aren't wrapped in any function.
(:outside (fun) (call))Selects in lines { 1, 6 } but not in { }:
setup()
def init():
setup()
cleanup()Locate identifiers at module level, excluding those inside functions.
(:outside (fun) (id x))Selects in lines { 1, 1 } but not in { }:
x
def y():
x
def z():
x
xFind code inside one scope but outside nested scopes.
(:inside
(fun outer)
(:outside
(fun inner)
(id x)))Selects in lines { 1, 1 } but not in { }:
x
def outer():
x
def inner():
x
xFind direct module-level translate() calls to wrap in i18n initialization.
(:outside (fun) (call translate))Selects in lines { 2 } but not in { }:
def boot():
translate()
def render():
translate()
translate()Arguments
scope
• (:#across) • (:after) • (:at) • (:before) • (:inside) • (:outside) • (:kind) • (:ref) • (:text) • (:and) • (:not) • (:or) • (:into) • (:replace) • (:capture)
val
• (:#across) • (:after) • (:at) • (:before) • (:inside) • (:outside) • (:kind) • (:ref) • (:text) • (:into) • (:and) • (:or) • (:not) • (:replace) • (:capture)