Mercurial > hg > xemacs-beta
comparison lisp/modes/f90.el @ 134:34a5b81f86ba r20-2b1
Import from CVS: tag r20-2b1
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:30:11 +0200 |
parents | ac2d302a0011 |
children | 59463afc5666 |
comparison
equal
deleted
inserted
replaced
133:b27e67717092 | 134:34a5b81f86ba |
---|---|
145 | 145 |
146 (defconst bug-f90-mode "T.Einarsson@clab.ericsson.se" | 146 (defconst bug-f90-mode "T.Einarsson@clab.ericsson.se" |
147 "Address of mailing list for F90 mode bugs.") | 147 "Address of mailing list for F90 mode bugs.") |
148 | 148 |
149 ;; User options | 149 ;; User options |
150 (defvar f90-do-indent 3 | 150 |
151 "*Extra indentation applied to DO blocks.") | 151 (defgroup f90 nil |
152 | 152 "Fortran-90 mode" |
153 (defvar f90-if-indent 3 | 153 :group 'fortran) |
154 "*Extra indentation applied to IF, SELECT CASE, WHERE and FORALL blocks.") | 154 |
155 | 155 (defgroup f90-indent nil |
156 (defvar f90-type-indent 3 | 156 "Fortran-90 indentation" |
157 "*Extra indentation applied to TYPE, INTERFACE and BLOCK DATA blocks.") | 157 :prefix "f90-" |
158 | 158 :group 'f90) |
159 (defvar f90-program-indent 2 | 159 |
160 "*Extra indentation applied to PROGRAM/MODULE/SUBROUTINE/FUNCTION blocks.") | 160 |
161 | 161 (defcustom f90-do-indent 3 |
162 (defvar f90-continuation-indent 5 | 162 "*Extra indentation applied to DO blocks." |
163 "*Extra indentation applied to F90 continuation lines.") | 163 :type 'integer |
164 | 164 :group 'f90-indent) |
165 (defvar f90-comment-region "!!$" | 165 |
166 (defcustom f90-if-indent 3 | |
167 "*Extra indentation applied to IF, SELECT CASE, WHERE and FORALL blocks." | |
168 :type 'integer | |
169 :group 'f90-indent) | |
170 | |
171 (defcustom f90-type-indent 3 | |
172 "*Extra indentation applied to TYPE, INTERFACE and BLOCK DATA blocks." | |
173 :type 'integer | |
174 :group 'f90-indent) | |
175 | |
176 (defcustom f90-program-indent 2 | |
177 "*Extra indentation applied to PROGRAM/MODULE/SUBROUTINE/FUNCTION blocks." | |
178 :type 'integer | |
179 :group 'f90-indent) | |
180 | |
181 (defcustom f90-continuation-indent 5 | |
182 "*Extra indentation applied to F90 continuation lines." | |
183 :type 'integer | |
184 :group 'f90-indent) | |
185 | |
186 (defcustom f90-comment-region "!!$" | |
166 "*String inserted by \\[f90-comment-region]\ | 187 "*String inserted by \\[f90-comment-region]\ |
167 at start of each line in region.") | 188 at start of each line in region." |
168 | 189 :type 'string |
169 (defvar f90-indented-comment-re "!" | 190 :group 'f90-indent) |
170 "*Regexp saying which comments to be indented like code.") | 191 |
171 | 192 (defcustom f90-indented-comment-re "!" |
172 (defvar f90-directive-comment-re "!hpf\\$" | 193 "*Regexp saying which comments to be indented like code." |
173 "*Regexp of comment-like directive like \"!HPF\\\\$\", not to be indented.") | 194 :type 'regexp |
174 | 195 :group 'f90-indent) |
175 (defvar f90-beginning-ampersand t | 196 |
176 "*t makes automatic insertion of \& at beginning of continuation line.") | 197 (defcustom f90-directive-comment-re "!hpf\\$" |
177 | 198 "*Regexp of comment-like directive like \"!HPF\\\\$\", not to be indented." |
178 (defvar f90-smart-end 'blink | 199 :type 'regexp |
200 :group 'f90-indent) | |
201 | |
202 (defcustom f90-beginning-ampersand t | |
203 "*t makes automatic insertion of \& at beginning of continuation line." | |
204 :type 'boolean | |
205 :group 'f90) | |
206 | |
207 (defcustom f90-smart-end 'blink | |
179 "*From an END statement, check and fill the end using matching block start. | 208 "*From an END statement, check and fill the end using matching block start. |
180 Allowed values are 'blink, 'no-blink, and nil, which determine | 209 Allowed values are 'blink, 'no-blink, and nil, which determine |
181 whether to blink the matching beginning.") | 210 whether to blink the matching beginning." |
182 | 211 :type '(choice (const blink) (const no-blink) (const nil)) |
183 (defvar f90-break-delimiters "[-+\\*/><=,% \t]" | 212 :group 'f90) |
184 "*Regexp holding list of delimiters at which lines may be broken.") | 213 |
185 | 214 (defcustom f90-break-delimiters "[-+\\*/><=,% \t]" |
186 (defvar f90-break-before-delimiters t | 215 "*Regexp holding list of delimiters at which lines may be broken." |
187 "*Non-nil causes `f90-do-auto-fill' to break lines before delimiters.") | 216 :type 'regexp |
188 | 217 :group 'f90) |
189 (defvar f90-auto-keyword-case nil | 218 |
219 (defcustom f90-break-before-delimiters t | |
220 "*Non-nil causes `f90-do-auto-fill' to break lines before delimiters." | |
221 :type 'regexp | |
222 :group 'f90) | |
223 | |
224 (defcustom f90-auto-keyword-case nil | |
190 "*Automatic case conversion of keywords. | 225 "*Automatic case conversion of keywords. |
191 The options are 'downcase-word, 'upcase-word, 'capitalize-word and nil") | 226 The options are 'downcase-word, 'upcase-word, 'capitalize-word and nil" |
192 | 227 :type '(choice (const downcase-word) (const upcase-word) |
193 (defvar f90-leave-line-no nil | 228 (const capitalize-word) (const nil)) |
194 "*If nil, left-justify linenumbers.") | 229 :group 'f90) |
195 | 230 |
196 (defvar f90-startup-message t | 231 (defcustom f90-leave-line-no nil |
197 "*Non-nil displays a startup message when F90 mode is first called.") | 232 "*If nil, left-justify linenumbers." |
233 :type 'boolean | |
234 :group 'f90) | |
235 | |
236 (defcustom f90-startup-message t | |
237 "*Non-nil displays a startup message when F90 mode is first called." | |
238 :type 'boolean | |
239 :group 'f90) | |
198 | 240 |
199 (defconst f90-keywords-re | 241 (defconst f90-keywords-re |
200 ;;("allocate" "allocatable" "assign" "assignment" "backspace" "block" | 242 ;;("allocate" "allocatable" "assign" "assignment" "backspace" "block" |
201 ;;"call" "case" "character" "close" "common" "complex" "contains" | 243 ;;"call" "case" "character" "close" "common" "complex" "contains" |
202 ;;"continue" "cycle" "data" "deallocate" "dimension" "do" "double" "else" | 244 ;;"continue" "cycle" "data" "deallocate" "dimension" "do" "double" "else" |