Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Functions to access to the Sc3 Rtf & Html based help systems.
Synopsis
- sc3_rtf_help_dir :: IO FilePath
- sc3_rtf_find_file :: FilePath -> IO (Maybe FilePath)
- sc3_rtf_find_file_err :: FilePath -> IO FilePath
- sc3_rtf_to_scd :: FilePath -> FilePath -> IO ()
- sc3_rtf_help_translate :: String -> IO FilePath
- sc3_rtf_help_scd_open :: (String, [String]) -> String -> IO ()
- sc3_rtf_help_scd_open_emacs :: String -> IO ()
- sc3_scdoc_help_url :: String
- sc3_scdoc_help_dir :: IO String
- sc3_scdoc_help_class :: String -> String
- sc3_scdoc_help_operator :: String -> FilePath
- sc3_scdoc_help_method :: Char -> (String, String) -> FilePath
- sc3_scdoc_help_class_method :: (String, String) -> FilePath
- sc3_scdoc_help_instance_method :: (String, String) -> FilePath
- sc3_scdoc_help_path :: String -> String
- sc3_scdoc_help_open :: Bool -> String -> IO ()
- sc3_scdoc_help_server_command_path :: String -> FilePath
- sc3_scdoc_help_server_command_open :: Bool -> String -> IO ()
- on_lines_of :: ([String] -> [[String]]) -> String -> [String]
- split_multiple_fragments :: [String] -> [[String]]
- drop_post_graph_section :: [String] -> [String]
- read_file_fragments :: FilePath -> IO [String]
- read_file_set_fragments :: [FilePath] -> IO [String]
Rtf
sc3_rtf_help_dir :: IO FilePath Source #
Directory containing Sc3 Rtf help files.
sc3_rtf_find_file :: FilePath -> IO (Maybe FilePath) Source #
Find (case-insensitively) indicated file at sc3_rtf_help_dir
.
Runs the command "find -name" (so Unix only).
sc3_rtf_find_file "SinOsc.help.rtf" sc3_rtf_find_file "lfsaw.help.rtf" sc3_rtf_find_file "softClip.rtf"
sc3_rtf_to_scd :: FilePath -> FilePath -> IO () Source #
Run the command unrtf (so UNIX only) to convert an RTF file to a TEXT (.scd) file.
sc3_rtf_help_translate :: String -> IO FilePath Source #
sc3_rtf_to_scd
of sc3_rtf_find_file_err
, writing output to TMPDIR
sc3_rtf_help_scd_open :: (String, [String]) -> String -> IO () Source #
sc3_rtf_help_translate
and run editor.
sc3_rtf_help_scd_open_emacs :: String -> IO () Source #
sc3_rtf_help_scd_open
with emacsclient --no-wait.
sc3_rtf_help_scd_open_emacs "lfsaw"
Sc-Doc (Html)
sc3_scdoc_help_url :: String Source #
Url for online Sc-Doc SuperCollider documentation.
sc3_scdoc_help_dir :: IO String Source #
Read the environment variable SC3_SCDOC_HTML_HELP_DIR
.
The default value is ~/.local/share/SuperCollider/Help
.
sc3_scdoc_help_class :: String -> String Source #
Path to indicated Sc3 class help file.
sc3_scdoc_help_class "SinOsc" == "Classes/SinOsc.html"
sc3_scdoc_help_operator :: String -> FilePath Source #
Generate path to indicated Sc3 operator help file.
sc3_scdoc_help_operator "+" == "Overviews/Operators.html#+"
sc3_scdoc_help_method :: Char -> (String, String) -> FilePath Source #
Generate path to indicated Sc3 method help.
sc3_scdoc_help_method '*' ("C","m") == "Classes/C.html#*m"
sc3_scdoc_help_class_method :: (String, String) -> FilePath Source #
Generate path to indicated Sc3 class method help.
sc3_scdoc_help_class_method ("C","m") == "Classes/C.html#*m"
sc3_scdoc_help_instance_method :: (String, String) -> FilePath Source #
Generate path to indicated Sc3 instance method help.
sc3_scdoc_help_instance_method ("C","m") == "Classes/C.html#-m"
sc3_scdoc_help_path :: String -> String Source #
Sc3 help path documenting x.
sc3_scdoc_help_path "Operator.distort" == "Overviews/Operators.html#.distort" sc3_scdoc_help_path "Collection.*fill" == "Classes/Collection.html#*fill" sc3_scdoc_help_path "Collection.inject" == "Classes/Collection.html#-inject" sc3_scdoc_help_path "SinOsc" == "Classes/SinOsc.html"
sc3_scdoc_help_open :: Bool -> String -> IO () Source #
Open SC3 help path, either the local file or the online version.
Use BROWSER
or x-www-browser
.
Base.System.get_env_default "BROWSER" "x-www-browser"
sc3_scdoc_help_open True (sc3_scdoc_help_path "SinOsc") sc3_scdoc_help_open True (sc3_scdoc_help_path "Collection.*fill") sc3_scdoc_help_open False (sc3_scdoc_help_path "Collection.inject")
sc3_scdoc_help_server_command_path :: String -> FilePath Source #
Generate path to indicated Sc3 instance method help. Adds initial forward slash if not present.
let r = "Reference/Server-Command-Reference.html#/b_alloc" sc3_scdoc_help_server_command_path "b_alloc" == r
sc3_scdoc_help_server_command_open :: Bool -> String -> IO () Source #
sc3_scdoc_help_open
of sc3_server_command_path
sc3_scdoc_help_server_command_open True "s_new" sc3_scdoc_help_server_command_open False "/b_allocRead"
Fragments
on_lines_of :: ([String] -> [[String]]) -> String -> [String] Source #
Apply function at lines of string.
split_multiple_fragments :: [String] -> [[String]] Source #
Split text into fragments at empty lines. Hsc3 (and related projects) write help files as sets of distinct fragments. Fragments are separated by empty lines. A line containing the special character sequence ---- indicates the end of the fragments.
on_lines_of split_multiple_fragments ";a\nb\n\n\n;c\nd" == [";a\nb\n",";c\nd\n"]
drop_post_graph_section :: [String] -> [String] Source #
The text ---- indicates the end of graph fragments.