File: makeindex.awk

package info (click to toggle)
faust 2.79.3%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 397,496 kB
  • sloc: cpp: 278,433; ansic: 116,164; javascript: 18,529; vhdl: 14,052; sh: 13,884; java: 5,900; objc: 3,852; python: 3,222; makefile: 2,655; cs: 1,672; lisp: 1,146; ruby: 954; yacc: 586; xml: 471; lex: 247; awk: 110; tcl: 26
file content (39 lines) | stat: -rw-r--r-- 714 bytes parent folder | download
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

function makeSection(file) {
	sub(".*/", "", file)
	sub(".md", "", file);
	return file;
}

function printSection() {
	print "### " SECTION;
	print OUT "\n";
	OUT = "";
}

BEGIN {
	OUT = "";
	SECTION = "";
	PREVSECTION = "";
	print "# Faust Libraries Index\n\n--------\n";
}

END {
}


# scan function names
/^### `\(/ {
	SECTION = makeSection(FILENAME);
	if (SECTION != PREVSECTION) {		# scan file change
		print "\n## " SECTION "\n";
		PREVSECTION = SECTION;
	}
	gsub(/### `/, "", $0);
	fun = $0;
	gsub(/`/, "", fun);
	link = fun;
	gsub(/[\[\]\|\(\)\.]/, "", link); 	# remove () [] | and .
	gsub(" ", "-", link);   				# replace space with -
	print "[" fun "](" SECTION ".md#" tolower(link) ")    ";
}