class
Opal::UI::CodeView
- Opal::UI::CodeView
- Opal::UI::Control
- Opal::UI::Element
- Reference
- Object
Overview
Code and disassembly viewing element with line numbers, syntax highlighting, cursor indicator, and vertical scrolling.
Defined in:
opal/ui/components/code_view.crConstructors
Class Method Summary
-
.print(code : String, language : Symbol | String = :plain, show_line_numbers : Bool = true, start_line : Int32 = 1, io : IO = STDOUT, width : Int32 | Nil = nil, color : Bool | Nil = nil, theme : Theme | Nil = nil) : Nil
Class convenience method printing styled code directly to IO
-
.to_string(code : String, language : Symbol | String = :plain, show_line_numbers : Bool = true, start_line : Int32 = 1, width : Int32 | Nil = nil, color : Bool | Nil = nil, theme : Theme | Nil = nil) : String
Class convenience method returning styled code string
Instance Method Summary
- #auto_scroll=(auto_scroll : Bool)
- #auto_scroll? : Bool
- #code : String
- #code=(code : String)
- #cursor_fg : Color | Nil
- #cursor_fg=(cursor_fg : Color | Nil)
- #cursor_indicator : String | Nil
- #cursor_indicator=(cursor_indicator : String | Nil)
- #gutter_fg : Color | Nil
- #gutter_fg=(gutter_fg : Color | Nil)
-
#handle_key(event : Terminal::KeyEvent) : Bool
Default key event handler.
-
#handle_mouse(event : Terminal::MouseEvent) : Bool
Default mouse event handler.
- #highlighted_line : Int32 | Nil
- #highlighted_line=(highlighted_line : Int32 | Nil)
- #language : Symbol
- #language=(language : Symbol)
- #lines : Array(String)
-
#preferred_print_size(available_w : Int32) : Tuple(Int32, Int32)
Preferred size in print mode: full line count
- #preferred_size(available_w : Int32, available_h : Int32) : Tuple(Int32, Int32)
- #render(buffer : Buffer, x : Int32, y : Int32, width : Int32, height : Int32) : Nil
-
#render_print(buffer : Buffer, width : Int32, height : Int32) : Nil
Render hook for print mode: resets scroll offset
- #scroll_down(count : Int32 = 1) : Nil
- #scroll_offset : Int32
- #scroll_offset=(scroll_offset : Int32)
- #scroll_speed : Float64
- #scroll_speed=(scroll_speed : Float64)
- #scroll_up(count : Int32 = 1) : Nil
- #scrollable=(scrollable : Bool)
- #scrollable? : Bool
- #show_line_numbers=(show_line_numbers : Bool)
- #show_line_numbers? : Bool
- #start_line : Int32
- #start_line=(start_line : Int32)
- #tick(dt : Float64 = 0.0166) : Nil
Constructor methods inherited from class Opal::UI::Control
new
new
Instance methods inherited from module Opal::UI::InputHookable
custom_inputs=(custom_inputs : Bool)
custom_inputs=,
custom_inputs? : Bool
custom_inputs?,
default_input_proc : Proc(InputEvent, Bool) | Nil
default_input_proc,
default_input_proc=(default_input_proc : Proc(InputEvent, Bool) | Nil)
default_input_proc=,
fallback_to_defaults!(enabled : Bool = true) : self
fallback_to_defaults!,
fallback_to_defaults=(fallback_to_defaults : Bool)
fallback_to_defaults=,
fallback_to_defaults? : Bool
fallback_to_defaults?,
focus : self
focus,
focused=(focused : Bool)
focused=,
focused? : Bool
focused?,
handle_default_input(event : InputEvent) : Bool
handle_default_input,
handle_input(event : InputEvent) : Bool
handle_input,
handle_key(key : Terminal::KeyEvent) : Bool
handle_key,
handle_mouse(event : Terminal::MouseEvent) : Bool
handle_mouse,
input_hook : Proc(InputEvent, Bool) | Nil
input_hook,
input_hook=(input_hook : Proc(InputEvent, Bool) | Nil)
input_hook=,
on_input(&block : self, InputEvent -> Bool) : self
on_input,
puppet(&block : self, InputEvent -> Bool) : self
puppet,
reset_inputs : self
reset_inputs,
setup_default_inputs : Nil
setup_default_inputs,
unfocus : self
unfocus,
use_custom_inputs!(enabled : Bool = true) : self
use_custom_inputs!
Instance methods inherited from class Opal::UI::Element
add_class(name : String) : self
add_class,
children : Array(Element)
children,
classes : Set(String)
classes,
classes=(classes : Set(String))
classes=,
has_class?(name : String) : Bool
has_class?,
id : String | Nil
id,
id=(id : String | Nil)
id=,
preferred_print_size(available_w : Int32) : Tuple(Int32, Int32)
preferred_print_size,
preferred_size(available_w : Int32, available_h : Int32) : Tuple(Int32, Int32)
preferred_size,
print(io : IO = STDOUT, width : Int32 | Nil = nil, color : Bool | Nil = nil, theme : Theme | Nil = nil) : Nil
print,
query(selector : String) : Array(Element)query(klass : T.class) : Array(T) forall T query, query_one(selector : String) : Element
query_one(klass : T.class) : T forall T query_one, query_one?(selector : String) : Element | Nil
query_one?(klass : T.class) : T | Nil forall T query_one?, remove_class(name : String) : self remove_class, render(buffer : Buffer, x : Int32, y : Int32, width : Int32, height : Int32) : Nil render, render_print(buffer : Buffer, width : Int32, height : Int32) : Nil render_print, to_print_s(width : Int32 | Nil = nil, color : Bool | Nil = nil, theme : Theme | Nil = nil) : String to_print_s, to_string(width : Int32 | Nil = nil, color : Bool | Nil = nil, theme : Theme | Nil = nil) : String to_string
Instance methods inherited from module Opal::UI::Themable
current_theme : Theme
current_theme,
style(&block : self -> Nil) : self
style,
theme : Theme | Nil
theme,
theme=(theme : Theme | Nil)
theme=,
with_theme(new_theme : Theme | Symbol | String) : self
with_theme
Constructor Detail
Class Method Detail
Class convenience method printing styled code directly to IO
Class convenience method returning styled code string
Instance Method Detail
Default key event handler. Override in subclasses if not using @default_input_proc.
Default mouse event handler. Override in subclasses if not using @default_input_proc.
Preferred size in print mode: full line count
Render hook for print mode: resets scroll offset