SyntaxHighlighter

package
v0.0.0-...-c858641 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2025 License: MIT Imports: 24 Imported by: 0

Documentation

Overview

Base class for syntax highlighters. Provides syntax highlighting data to a graphics.gd/classdb/TextEdit. The associated graphics.gd/classdb/TextEdit will call into the graphics.gd/classdb/SyntaxHighlighter on an as-needed basis.

Note: A graphics.gd/classdb/SyntaxHighlighter instance should not be used across multiple graphics.gd/classdb/TextEdit nodes.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Advanced

type Advanced = class

Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.

type Any

type Any interface {
	gd.IsClass
	AsSyntaxHighlighter() Instance
}

type Entry

type Entry struct {
	Color struct {
		R float32
		G float32
		B float32
		A float32
	} `gd:"color"`
}

type Extension

type Extension[T gdclass.Interface] struct{ gdclass.Extension[T, Instance] }

Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this [Extension]See Interface for methods that can be overridden by T.

func (*Extension[T]) AsObject

func (self *Extension[T]) AsObject() [1]gd.Object

func (*Extension[T]) AsRefCounted

func (self *Extension[T]) AsRefCounted() [1]gd.RefCounted

func (*Extension[T]) AsResource

func (self *Extension[T]) AsResource() Resource.Instance

func (*Extension[T]) AsSyntaxHighlighter

func (self *Extension[T]) AsSyntaxHighlighter() Instance

type ID

type ID Object.ID

ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.

func (ID) Instance

func (id ID) Instance() (Instance, bool)

type Implementation

type Implementation = implementation

Implementation implements Interface with empty methods.

type Instance

type Instance [1]gdclass.SyntaxHighlighter

Instance of the class with convieniently typed arguments and results.

var Nil Instance

Nil is a nil/null instance of the class. Equivalent to the zero value.

func Get

func Get(peer TextEdit.Instance) Instance

func New

func New() Instance

func (Instance) AsObject

func (self Instance) AsObject() [1]gd.Object

func (Instance) AsRefCounted

func (self Instance) AsRefCounted() [1]gd.RefCounted

func (Instance) AsResource

func (self Instance) AsResource() Resource.Instance

func (Instance) AsSyntaxHighlighter

func (self Instance) AsSyntaxHighlighter() Instance

func (Instance) ClearHighlightingCache

func (self Instance) ClearHighlightingCache()

Clears all cached syntax highlighting data.

Then calls overridable method [Interface.ClearHighlightingCache].

func (Instance) GetLineSyntaxHighlighting

func (self Instance) GetLineSyntaxHighlighting(line int) map[int]Entry

Returns the syntax highlighting data for the line at index 'line'. If the line is not cached, calls [Interface.GetLineSyntaxHighlighting] first to calculate the data.

Each entry is a column number containing a nested data structure. The column number denotes the start of a region, the region will end if another region is found, or at the end of the line. The nested data structure contains the data for that region. Currently only the key "color" is supported.

Example: Possible return value. This means columns 0 to 4 should be red, and columns 5 to the end of the line should be green:

func (Instance) GetTextEdit

func (self Instance) GetTextEdit() TextEdit.Instance

Returns the associated graphics.gd/classdb/TextEdit node.

func (Instance) ID

func (self Instance) ID() ID

func (Instance) Set

func (self Instance) Set(peer TextEdit.Instance)

func (*Instance) SetObject

func (self *Instance) SetObject(obj [1]gd.Object) bool

func (Instance) UpdateCache

func (self Instance) UpdateCache()

Clears then updates the graphics.gd/classdb/SyntaxHighlighter caches. Override [Interface.UpdateCache] for a callback.

Note: This is called automatically when the associated graphics.gd/classdb/TextEdit node, updates its own cache.

func (Instance) Virtual

func (self Instance) Virtual(name string) reflect.Value

type Interface

type Interface interface {
	// Virtual method which can be overridden to return syntax highlighting data.
	//
	// See [Instance.GetLineSyntaxHighlighting] for more details.
	GetLineSyntaxHighlighting(line int) map[int]Entry
	// Virtual method which can be overridden to clear any local caches.
	ClearHighlightingCache()
	// Virtual method which can be overridden to update any local caches.
	UpdateCache()
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL