1
2
3
4
5
6
7
8
9
10
11
12
13 #ifndef MC__EDIT_H
14 #define MC__EDIT_H
15
16 #include "lib/global.h"
17 #include "lib/vfs/vfs.h"
18
19
20
21 #define DEFAULT_WRAP_LINE_LENGTH 72
22
23 #define EDIT(x) ((WEdit *)(x))
24 #define CONST_EDIT(x) ((const WEdit *)(x))
25
26
27
28
29
30
31 struct WEdit;
32 typedef struct WEdit WEdit;
33
34 typedef struct
35 {
36 int word_wrap_line_length;
37 gboolean typewriter_wrap;
38 gboolean auto_para_formatting;
39 gboolean fill_tabs_with_spaces;
40 gboolean return_does_auto_indent;
41 gboolean backspace_through_tabs;
42 gboolean fake_half_tabs;
43 gboolean persistent_selections;
44 gboolean drop_selection_on_copy;
45 gboolean cursor_beyond_eol;
46 gboolean cursor_after_inserted_block;
47 gboolean state_full_filename;
48 gboolean line_state;
49 int line_state_width;
50 int save_mode;
51 gboolean confirm_save;
52 gboolean save_position;
53 gboolean syntax_highlighting;
54 gboolean group_undo;
55 char *backup_ext;
56 char *filesize_threshold;
57 char *stop_format_chars;
58 gboolean visible_tabs;
59 gboolean visible_tws;
60 gboolean show_right_margin;
61 gboolean simple_statusbar;
62 gboolean check_nl_at_eof;
63 } edit_options_t;
64
65 typedef struct
66 {
67 vfs_path_t *file_vpath;
68 long line_number;
69 } edit_arg_t;
70
71
72
73 extern edit_options_t edit_options;
74
75
76
77
78 void edit_stack_init (void);
79 void edit_stack_free (void);
80
81 gboolean edit_file (const edit_arg_t * arg);
82 gboolean edit_files (const GList * files);
83
84 edit_arg_t *edit_arg_vpath_new (vfs_path_t * file_vpath, long line_number);
85 edit_arg_t *edit_arg_new (const char *file_name, long line_number);
86 void edit_arg_init (edit_arg_t * arg, vfs_path_t * vpath, long line);
87 void edit_arg_assign (edit_arg_t * arg, vfs_path_t * vpath, long line);
88 void edit_arg_free (edit_arg_t * arg);
89
90 const char *edit_get_file_name (const WEdit * edit);
91 off_t edit_get_cursor_offset (const WEdit * edit);
92 long edit_get_curs_col (const WEdit * edit);
93 const char *edit_get_syntax_type (const WEdit * edit);
94
95
96 #endif