4coder/manual/manual.man

70 lines
2.9 KiB
Groff

$ProductVersion{4.1.0}
$ManualSubVersion{0}
$File{4coder_manual}
$Title{4coder 4.1 User's Manual}
$Hd{1}{4coder 4.1. User's Manual}
$Hd{3}[Allen Webster, 2018-09-07}
$TableOfContents{ALL}
$BeginContents{ALL}
$PushSection{ALL}{}{$Hd{2}{First Time User}}
$PushSection{ALL}{}{$Hd{3}{Organization}}
4coder's most basic organization of information is by $Link{buffers}{org_buffers} and $Link{views}{views}. Buffers, described
simply, are an optimized array of characters encoded in UTF-8, that support reading and writing anywhere in the buffer and can
be rendered to screen. A view represents an region of the 4coder window with a self contained state for interactions from the
user.
These major objects exist independently, they are created and closed independently. The only relationship that ever exists
between a view and a buffer is that a view can set a buffer as it's target for writing, reading, and rendering. Multiple views
can target a single buffer. Any view can target any buffer at any time. Closing a buffer in a view leaves the view open,
closing a view that targets a buffer leaves the buffer open. All of this is to emphasize that these two types of entities
exist absolutely independently and have only a very weak relationship.
$PopSection{ALL}
$PushSection{ALL}{org_buffers}{$Hd{3}{Buffer Basics}}
A buffer is essentially an optimized array of characters encoded in UTF-8, with a lot of extra features attached. Many
buffers will be tied directly to a corresponding file and will save their contents out to their file, but a few buffers exist
just to be a holder for text. In deafult 4coder behavior all buffers that lack a backing file have a name starting and ending
with $Code{'*'} characters.
A new buffer with a file association can be opened any time using one of the interactive commands for file system browsing:
$BeginTable{FileBuf}{1}
$Row{$Link{cmdref_interactive_open_or_new}{interactive_open_or_new}}
$Row{$Link{cmdref_interactive_new}{interactive_new}}
$Row{$Link{cmdref_interactive_open}{interactive_open}}
$EndContents{FileBuf}
Once you open a new buffer with a file association it will be the dedicated buffer for that file from then on, opening the
file again will always just bring you back to the buffer you already opened, to create a totally different copy you have to
manually make a fresh new buffer and then copy the contents over.
To see a list of all open buffers and switch a view to targetting any buffer there is the interactive command
$Link{cmdref_interactive_switch_buffer}{interactive_switch_buffer}.
$PopSection{ALL}
$PopSection{ALL}
$PushSection{ALL}{}{$Hd{2}{Commands}}
$ImportContents{commands.man}{ALL}
$PopSection{ALL}
$PushSection{ALL}{}{$Hd{2}{Bindings}}
$ImportContents{bindings.man}{ALL}
$PopSection{ALL}
$PushSection{ALL}{}{$Hd{2}{Config Files and Project Files}}
$PopSection{ALL}
$PushSection{ALL}{}{$Hd{2}{Customization}}
$PopSection{ALL}
$EndContents{ALL}