matita.cmx: predefined_virtuals.cmx matitaTypes.cmx matitaScript.cmx \
matitaMathView.cmx matitaInit.cmx matitaGui.cmx matitaGtkMisc.cmx \
matitaAutoGui.cmx buildTimeConf.cmx applyTransformation.cmx
-matitaScript.cmo: matitacLib.cmi matitaTypes.cmi matitaMisc.cmi \
+matitaScript.cmo: virtuals.cmi matitacLib.cmi matitaTypes.cmi matitaMisc.cmi \
matitaGtkMisc.cmi matitaEngine.cmi buildTimeConf.cmo \
applyTransformation.cmi matitaScript.cmi
-matitaScript.cmx: matitacLib.cmx matitaTypes.cmx matitaMisc.cmx \
+matitaScript.cmx: virtuals.cmx matitacLib.cmx matitaTypes.cmx matitaMisc.cmx \
matitaGtkMisc.cmx matitaEngine.cmx buildTimeConf.cmx \
applyTransformation.cmx matitaScript.cmi
matitaTypes.cmo: matitaTypes.cmi
matita.cmx: predefined_virtuals.cmx matitaTypes.cmx matitaScript.cmx \
matitaMathView.cmx matitaInit.cmx matitaGui.cmx matitaGtkMisc.cmx \
matitaAutoGui.cmx buildTimeConf.cmx applyTransformation.cmx
-matitaScript.cmo: matitacLib.cmi matitaTypes.cmi matitaMisc.cmi \
+matitaScript.cmo: virtuals.cmi matitacLib.cmi matitaTypes.cmi matitaMisc.cmi \
matitaGtkMisc.cmi matitaEngine.cmi buildTimeConf.cmx \
applyTransformation.cmi matitaScript.cmi
-matitaScript.cmx: matitacLib.cmx matitaTypes.cmx matitaMisc.cmx \
+matitaScript.cmx: virtuals.cmx matitacLib.cmx matitaTypes.cmx matitaMisc.cmx \
matitaGtkMisc.cmx matitaEngine.cmx buildTimeConf.cmx \
applyTransformation.cmx matitaScript.cmi
matitaTypes.cmo: matitaTypes.cmi
matitaInit.mli \
matitaGtkMisc.mli \
matitaAutoGui.mli \
- matitaScript.mli \
virtuals.mli \
+ matitaScript.mli \
predefined_virtuals.mli \
matitaMathView.mli \
matitaGui.mli \
| exc -> self#notify; raise exc
method private getFuture =
- buffer#get_text ~start:(buffer#get_iter_at_mark (`MARK locked_mark))
- ~stop:buffer#end_iter ()
+ let lock = buffer#get_iter_at_mark (`MARK locked_mark) in
+ let text = buffer#get_text ~start:lock ~stop:buffer#end_iter () in
+ text
+(* THIS SNIPPET AUTOMATICALLY EXPANDS EVERY \TeX MACRO
+ if Pcre.pmatch ~pat:"\\\\[a-zA-Z]+" text then
+ begin
+ buffer#delete ~start:lock ~stop:buffer#end_iter;
+ let text =
+ Pcre.substitute_substrings
+ ~subst:(fun str ->
+ let pristine = Pcre.get_substring str 0 in
+ let input =
+ if pristine.[0] = ' ' then
+ String.sub pristine 1 (String.length pristine -1)
+ else pristine
+ in
+ let input =
+ if input.[String.length input-1] = ' ' then
+ String.sub input 0 (String.length input -1)
+ else input
+ in
+ try
+ Glib.Utf8.from_unichar (snd (Virtuals.symbol_of_virtual input))
+ with Virtuals.Not_a_virtual -> pristine)
+ ~pat:" ?\\\\[a-zA-Z]+ ?" text
+ in
+ buffer#insert ~iter:lock text;
+ text
+ end
+ else
+ text
+*)
(** @param rel_offset relative offset from current position of locked_mark *)