summaryrefslogtreecommitdiff
path: root/support/brief-t/remmer.cb
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/brief-t/remmer.cb
Initial commit
Diffstat (limited to 'support/brief-t/remmer.cb')
-rw-r--r--support/brief-t/remmer.cb146
1 files changed, 146 insertions, 0 deletions
diff --git a/support/brief-t/remmer.cb b/support/brief-t/remmer.cb
new file mode 100644
index 0000000000..a07a7e8da5
--- /dev/null
+++ b/support/brief-t/remmer.cb
@@ -0,0 +1,146 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* P†l Hedne 1990 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+_init (...)
+{
+ int save_key;
+ global save_key;
+
+ save_key=0;
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+split_tex (...)
+{
+ int line,col,line1,col1,match,length,
+ buf_key,nwrite,ind;
+ string sdum,text,label,fname,bname,ext;
+ inq_names(fname,ext,bname);
+ ind = search_string (".",fname,length,0,0);
+ if (ind>0) fname=substr(fname,1,ind-1);
+ fname=fname+".sav";
+
+ ind=exist(fname);
+ if (ind != 0)
+ {
+ sprintf(text,"File %s exist. Continue (Y/N) ? ",fname);
+ get_parm (0, sdum, text, 1);
+ sdum=upper(sdum);
+ }
+ else
+ sdum="Y";
+
+ if (sdum == "Y")
+ {
+ if (ind!=0) del(fname);
+ message("Splitter...");
+ inq_position (line, col);
+ top_of_buffer();
+ save_key=create_buffer("Save",fname,0);
+ buf_key=inq_buffer();
+ nwrite=0;
+ match=1;
+/* pause_on_error(1);*/
+ while (match > 0)
+ {
+/* match=search_fwd("{{\\\\}|{\\{}*\\}}|{\\$*\\$}|{\\*$}",-1,0,0,1);*/
+/* match=search_fwd("{{\\\\}|{\\{}*\\}}|{\\$*\\$}|{\\\\[~ \t\n]+[ \t\n]}",-1,0,0,1);*/
+ match=search_fwd("{{\\\\}|{\\{}*\\}}|{\\$*\\$}|{\\\\[~ \t\n]+}",-1,0,0,1);
+ if (match > 0)
+ {
+ ++nwrite;
+ --match;
+ text = read(match);
+/* error("nw %d=%s",nwrite,text);*/
+ delete_char(match);
+ sprintf(label,"%c%d ",94,nwrite);
+ insert(label);
+ set_buffer(save_key);
+ insert(label);insert(text);insert("\n");
+/* error("Ins: %s %s",label,text);*/
+ set_buffer(buf_key);
+ sprintf(text,"Splitter...%d",nwrite);
+ message(text);
+ }
+ }
+ if (nwrite>0)
+ {
+ set_buffer(save_key);
+ write_buffer();
+ set_buffer(buf_key);
+ delete_buffer(save_key);
+ }
+ move_abs(line,col);
+ message(" ");
+ }
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+join_tex (...)
+{
+ int line,col,line1,col1,match,save_match,length,
+ buf_key,nwrite,ind,fsave;
+ string text,label,fname,bname,ext,sdum;
+
+ inq_names(fname,ext,bname);
+ ind = search_string (".",fname,length,0,0);
+ if (ind>0) fname=substr(fname,1,ind-1);
+ fname=fname+".sav";
+ fsave=0;
+
+ message("Kobler...");
+ inq_position (line, col);
+ top_of_buffer();
+ save_key=create_buffer("Save",fname,0);
+ buf_key=inq_buffer();
+ nwrite=0;
+ match=1;
+/* pause_on_error(1);*/
+ while (match > 0)
+ {
+ ++nwrite;
+ sprintf(label,"%c%d ",94,nwrite);
+ match=search_fwd(label,0,0,0,1);
+ set_buffer(save_key);
+ save_match=search_fwd(label,0,0,0,1);
+/* error("label=%s,match=%d,smatch=%d",label,match,save_match);*/
+ if ((match > 0) && (save_match>0))
+ {
+ move_rel(0,save_match-1);
+ text = read();
+ ind=strlen(text)-1;
+ text=substr(text,1,ind);
+
+ set_buffer(buf_key);
+ delete_char(match-1);
+ insert(text);
+ sprintf(text,"Join...%d",nwrite);
+ message(text);
+ }
+ else
+ {
+ if (!((match==0)&&(save_match==0)))
+ {
+ sprintf(text,"Warning: ^%d missing !! Continue (Y/N)?",nwrite);
+ get_parm (0, sdum, text, 1);
+ sdum=upper(sdum);
+ if (sdum != "Y")
+ {
+ match=0;
+ fsave=1;
+ }
+ else
+ {
+ match=1;
+ set_buffer(buf_key);
+ }
+ }
+ }
+ }
+ set_buffer(save_key);
+ delete_buffer(save_key);
+ set_buffer(buf_key);
+ if (fsave==0) del(fname);
+ move_abs(line,col);
+ message(" ");
+}