Merge pull request #15 from mlang/HelpSource
Create a HelpSource directory and document the EmacsBuffer class
This commit is contained in:
commit
6b63bf1bcf
2 changed files with 143 additions and 1 deletions
|
@ -1,2 +1,4 @@
|
||||||
add_subdirectory(el)
|
add_subdirectory(el)
|
||||||
add_subdirectory(sc)
|
add_subdirectory(sc)
|
||||||
|
install(DIRECTORY HelpSource
|
||||||
|
DESTINATION share/SuperCollider/Extensions/scide_scel/)
|
||||||
|
|
140
HelpSource/Classes/EmacsBuffer.schelp
Normal file
140
HelpSource/Classes/EmacsBuffer.schelp
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
CLASS:: EmacsBuffer
|
||||||
|
summary:: Lightweight Emacs User Interface
|
||||||
|
categories:: Frontends
|
||||||
|
|
||||||
|
CLASSMETHODS::
|
||||||
|
|
||||||
|
METHOD:: new
|
||||||
|
Create a new Emacs buffer with the specified name.
|
||||||
|
If a buffer with the same name already exists, it is cleared.
|
||||||
|
|
||||||
|
ARGUMENT:: name
|
||||||
|
The name of the new buffer.
|
||||||
|
Convention has it that generated buffers (those which do not belong
|
||||||
|
to a file) should start and end with an asterisk *.
|
||||||
|
|
||||||
|
METHOD:: at
|
||||||
|
Retrieve an instance by its name.
|
||||||
|
|
||||||
|
ARGUMENT:: name
|
||||||
|
The name of the buffer.
|
||||||
|
|
||||||
|
INSTANCEMETHODS::
|
||||||
|
|
||||||
|
METHOD:: front
|
||||||
|
Switch to this buffer in Emacs, making it the current buffer.
|
||||||
|
|
||||||
|
CODE::
|
||||||
|
p = EmacsBuffer.new;
|
||||||
|
p.front;
|
||||||
|
::
|
||||||
|
|
||||||
|
METHOD:: defineKey
|
||||||
|
|
||||||
|
ARGUMENT:: keySeq
|
||||||
|
A key sequence.
|
||||||
|
|
||||||
|
ARGUMENT:: func
|
||||||
|
A function to call when that key sequence is invoked.
|
||||||
|
|
||||||
|
CODE::
|
||||||
|
// create a key action for the buffer:
|
||||||
|
p.defineKey( "hello", { "hey there".postln; } );
|
||||||
|
|
||||||
|
// type hello on the window and look at the postbuffer
|
||||||
|
p.front;
|
||||||
|
|
||||||
|
p.defineKey( "hey there", { "hello".postln; } );
|
||||||
|
|
||||||
|
// type hey there and look at the postbuffer
|
||||||
|
p.front;
|
||||||
|
::
|
||||||
|
|
||||||
|
METHOD:: insert
|
||||||
|
Insert text.
|
||||||
|
|
||||||
|
ARGUMENT:: string
|
||||||
|
The text which should be inserted.
|
||||||
|
|
||||||
|
CODE::
|
||||||
|
// put some text in the buffer:
|
||||||
|
|
||||||
|
p.insert( "this is a really interesting text to read in the buffer" );
|
||||||
|
p.front;
|
||||||
|
::
|
||||||
|
|
||||||
|
METHOD:: newline
|
||||||
|
Insert a newline.
|
||||||
|
|
||||||
|
CODE::
|
||||||
|
p.newline;
|
||||||
|
p.front;
|
||||||
|
::
|
||||||
|
|
||||||
|
METHOD:: gotoBob
|
||||||
|
Move the cursor (point in Emacs jargon) to the beginning of the buffer.
|
||||||
|
|
||||||
|
METHOD:: gotoEob
|
||||||
|
Move point to the end of the buffer.
|
||||||
|
|
||||||
|
METHOD:: goto
|
||||||
|
Move point to a specific character position.
|
||||||
|
|
||||||
|
ARGUMENT:: position
|
||||||
|
An integer.
|
||||||
|
|
||||||
|
METHOD:: button
|
||||||
|
Create a multistate button.
|
||||||
|
|
||||||
|
ARGUMENT:: states
|
||||||
|
An array of state names.
|
||||||
|
|
||||||
|
ARGUMENT:: action
|
||||||
|
A function to call when the button state changes.
|
||||||
|
|
||||||
|
ARGUMENT:: prefix
|
||||||
|
Text to insert before the current state.
|
||||||
|
|
||||||
|
ARGUMENT:: suffix
|
||||||
|
Text to insert after the current state.
|
||||||
|
|
||||||
|
CODE::
|
||||||
|
// make a button:
|
||||||
|
|
||||||
|
p.button( [ "on", "off", "in between" ], { |v| v.postln; } );
|
||||||
|
p.front;
|
||||||
|
|
||||||
|
// make a button with a different look:
|
||||||
|
p.button( [ "on", "off", "in between" ], { |v| v.postln; }, "******", "+++++" );
|
||||||
|
p.front;
|
||||||
|
::
|
||||||
|
|
||||||
|
METHOD:: closeButton
|
||||||
|
Create a button which will close this buffer.
|
||||||
|
|
||||||
|
CODE::
|
||||||
|
p.closeButton;
|
||||||
|
p.front;
|
||||||
|
::
|
||||||
|
|
||||||
|
METHOD:: editableField
|
||||||
|
Create a field which can be edited inline.
|
||||||
|
|
||||||
|
ARGUMENT:: tag
|
||||||
|
The label of the field.
|
||||||
|
|
||||||
|
ARGUMENT:: value
|
||||||
|
The default content, a string.
|
||||||
|
|
||||||
|
ARGUMENT:: action
|
||||||
|
A function to call when the user submits the content by pressing enter.
|
||||||
|
|
||||||
|
CODE::
|
||||||
|
p = EmacsBuffer.new;
|
||||||
|
p.editableField( "write something here", "like this?", { |v| v.postln; } );
|
||||||
|
p.front;
|
||||||
|
::
|
||||||
|
|
||||||
|
METHOD:: free
|
||||||
|
Close this buffer.
|
||||||
|
|
Loading…
Reference in a new issue