File: otags_misc.mli

package info (click to toggle)
otags 4.05.1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, sid
  • size: 424 kB
  • ctags: 356
  • sloc: ml: 1,267; sh: 212; makefile: 194
file content (80 lines) | stat: -rw-r--r-- 2,250 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
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
(* Otags III
 * 
 * Hendrik Tews Copyright (C) 2010 - 2017
 * 
 * This file is part of "Otags III".
 * 
 * "Otags III" is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 * 
 * "Otags III" is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License in file COPYING in this or one of the parent
 * directories for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with "Otags III". If not, see
 * <http://www.gnu.org/licenses/>.
 * 
 * some misc functions
 * 
 *)

(* Returns the contents of the option, asserting that the 
 * argument is not None.
 *)
val the : 'a option -> 'a

(** Apply the function if something is contained in the option value.
 *)
val option_map : ('a -> unit) -> 'a option -> unit

(* starts_with big small
 * returns true if small is an initial substring of big
 *)
val starts_with : string -> string -> bool


(* return the module name for a given file name *)
val module_name : string -> string


(** Split string [s] at occurrences of [c]. Return the list of (non-zero)
    strings between sequences of [c].

    @param c split character
    @param s string to split
*)
val string_split : char -> string -> string list


(** Strip spaces and tabs at start and end of the argument. *)
val strip_white_space : string -> string


(* cut_out ic start stop returns the part from start to stop (exclusive) 
 * from the file ic
 *)
val cut_out : in_channel -> int -> int -> string


(* input_line_at ic pos
 * inputs one line like input_line starting at pos in ic
 *)
val input_line_at : in_channel -> int -> string


exception Skip_entry

(** Check whether the first argument is a directory. Errors are
    reported if the second argument is true and depending on
    {!Global.silent} and {!Global.verbose}.
*)
val is_directory : string -> bool -> bool


(** return the file name of the starting position *)
val file_of_loc : Location.t -> string