This file is indexed.

/usr/share/SuperCollider/HelpSource/Classes/CocoaDocument.schelp is in supercollider-common 1:3.6.6~repack-2-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
class:: CocoaDocument
summary:: implements Document functionality
related:: Classes/Document
categories:: Platform>OSX

description::

CocoaDocument implements link::Classes/Document:: functionality for the SuperCollider user interface on Mac OSX.

You could instantiate it e.g. by running code::CocoaDocument.new:: but in order to write platform-independent code you should not do this - simply call code::Document.new:: and this instantiates the correct class for your system.

For examples and method descriptions see link::Classes/Document::.

ClassMethods::

private::initClass, prSetDefaultFont, prSetSyntaxColorTheme, prDefaultUsesAutoInOutdent_, prnumberOfOpen, prGetIndexOfListener

method:: wikiBrowse
If set to code::true::, underlining text will create a wiki link.
argument:: value
An instance of link::Classes/Boolean::. Default value is code::true::.

method:: wikiDir
Get/set the default wiki directory. The default is dependent on link::Classes/Document#implementationClass::.
argument:: path
The file system path to the directory. An instance of link::Classes/String::.


method:: postColor
Get / set the listeners pen color.
argument:: col
An instance of link::Classes/Color::.
discussion::
code::
CocoaDocument.postColor; // returns current post color
CocoaDocument.postColor_(Color.red);
CocoaDocument.postColor_(Color.green);
CocoaDocument.postColor_(Color.blue);
CocoaDocument.postColor_(Color.black);
(
r = Routine({
	10.do({
		Document.postColor_(Color.rand);
		"There is no blue without yellow and without orange.".postln;
		0.5.rand.yield;
	});
	CocoaDocument.postColor_(Color.black);
});
)

r.play;
r.stop;
::

method:: setTheme
Sets the theme for syntax colorization.
argument:: themeName
A link::Classes/Symbol::, defining the name of the theme that you've put into code::Document.themes::.
discussion::
The Document class has a preset theme called code::'default'::, which is set as follows (default SC colors):
code::
themes = (
	default: (
		classColor: Color(0, 0, 0.75, 1),
		textColor: Color(0, 0, 0, 1),
		stringColor: Color(0.375, 0.375, 0.375, 1),
		commentColor: Color(0.75, 0, 0, 1),
		symbolColor: Color(0, 0.45, 0, 1),
		numberColor: Color(0, 0, 0, 1)
	)
);
::
If you want to have your own themes for syntax colorization, you need to put your color set into code::CocoaDocument.themes:: first (preferably in startup.rtf file) and call code::setTheme:: by giving it the name of the theme you've added to "themes" earlier:
code::
//putting a custom color theme into Document.themes
CocoaDocument.themes.put
(\myTheme,
	(
		classColor: Color.new255(53, 74, 187),
		textColor: Color.new255(0, 0, 0),
		stringColor: Color.new255(96, 129, 158),
		commentColor: Color.new255(206, 27, 28),
		symbolColor: Color.new255(57, 154, 20),
		numberColor: Color.new255(157, 80, 65)
	)
);

//and then calling setTheme with the name:
CocoaDocument.setTheme('myTheme');
//to see the current theme:
CocoaDocument.theme;
::
You can switch to the default theme anytime by calling:
code::
CocoaDocument.setTheme('default');
::
Next time you invoke syntaxColorize, the color theme set by setTheme will be used for syntax colorization. If you want to change the background color for the document window and selected text, in order to make them fit with your syntax colorization theme, see the help for the link::Classes/CocoaDocument#background:: and link::Classes/CocoaDocument#selectedBackground:: methods for Document.


InstanceMethods::

private::prUsesAutoInOutdent_, prIsEditable_, prSetTitle, prGetTitle, prGetFileName, prSetFileName, prGetBounds, prSetBounds, prBalanceParens, prclose, prinsertText, prinitByIndex, prGetLastIndex, propen, prinitByString, prSetBackgroundColor, prGetBackgroundColor, prSetSelectedBackgroundColor, prGetSelectedBackgroundColor, prSelectLine, prSetFont


method:: balanceParens
Starting from the current selection, increase the selection until matching parentheses are selected.
argument:: level
Do this as many times to find ever wider brackets. Set to code::inf:: for outmost.
discussion::
code::
((((
CocoaDocument.current.balanceParens(1);
CocoaDocument.current.balanceParens(3);
CocoaDocument.current.balanceParens(inf);
))))
::

method:: background
Get / set the the Document's background color.
argument:: color
An instance of link::Classes/Color::.
discussion::
code::
(
a = Document("background", "'hardly see anything");
a.background_(Color.blue(alpha:0.8)); // notice that alpha controls the window transparency
)
::

method:: stringColor
Gets or sets the string color of a specific range of already printed text. Default is the whole document. To set the listener text color for posting, see: link::Classes/Document#postColor::.
argument:: color
An instance of link::Classes/Color::.
argument:: rangeStart
An link::Classes/Integer::. Default is -1.
argument:: rangeSize
An link::Classes/Integer::. Default value is 0
discussion::
code::
// Select the following code in parentheses and execute it
(
Document.current.stringColor_(Color.rand(0.2, 0.8),
	Document.current.selectedRangeLocation + 13,
	16);
)
// Watch me change color
::

method:: selectedBackground
Gets or sets the document's background color for selected text. Applies to the whole document instance.
argument:: color
An instance of link::Classes/Color::.
discussion::
code::
Document.current.selectedBackground; // returns default color
(
w = Document.new("Test", "Here is a selected text...");
w.selectedBackground_(Color.new255(120, 180, 110));
w.selectRange(10, 13);
)
::

method:: syntaxColorize
Syntax colorize a document.

method:: makeWikiPage
Creates a wiki page.
argument:: wikiWord
An instance of link::Classes/String::. The name of the document.
argument:: extension
An instance of link::Classes/String::. The file extension.
argument:: directory
An instance of link::Classes/String::. The directory in which to save the page.
discussion::
code::
Document.current.makeWikiPage("test1");
::

method:: openWikiPage
Opens/creates a wiki page out of the currently selected text.