|
@@ -14,61 +14,61 @@
|
|
|
|
|
|
//these macros return 0 on success.
|
|
|
#define syn_XMLStart(f) (fputs( \
|
|
|
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" \
|
|
|
- "<!DOCTYPE language SYSTEM \"language.dtd\">\n" \
|
|
|
- "<!-- Syntax highlighting information autogenerated by KTIGCC. -->\n" \
|
|
|
- "<language version=\"1.11\" kateversion=\"2.4\" name=\"Scheme\" section=\"Scripts\" extensions=\"*.scm;*.ss;*.scheme;*.guile\" mimetype=\"text/x-scheme\" author=\"KTIGCC\" license=\"LGPL\">\n" \
|
|
|
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" \
|
|
|
+ "<!DOCTYPE language SYSTEM \"language.dtd\">\n" \
|
|
|
+ "<!-- Syntax highlighting information autogenerated by KTIGCC. -->\n" \
|
|
|
+ "<language version=\"1.11\" kateversion=\"2.4\" name=\"Scheme\" section=\"Scripts\" extensions=\"*.scm;*.ss;*.scheme;*.guile\" mimetype=\"text/x-scheme\" author=\"KTIGCC\" license=\"LGPL\">\n" \
|
|
|
,(f))==EOF)
|
|
|
#define syn_XMLEnd(f) (fputs("</language>\n",(f))==EOF)
|
|
|
|
|
|
void stringReplaceItems(QString &dest,const QString &oldStr,const QString &newStr,unsigned long start,unsigned long maxoccurances)
|
|
|
{
|
|
|
- unsigned long o;
|
|
|
- unsigned long len=oldStr.length();
|
|
|
- o=0;
|
|
|
- while ((start=dest.find(oldStr,start))!=0xFFFFFFFF&&(--maxoccurances))
|
|
|
- {
|
|
|
- dest.replace(start,len,newStr);
|
|
|
- start+=len;
|
|
|
- }
|
|
|
+ unsigned long o;
|
|
|
+ unsigned long len=oldStr.length();
|
|
|
+ o=0;
|
|
|
+ while ((start=dest.find(oldStr,start))!=0xFFFFFFFF&&(--maxoccurances))
|
|
|
+ {
|
|
|
+ dest.replace(start,len,newStr);
|
|
|
+ start+=len;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
QString syn_encodeString(const QString &str)
|
|
|
{
|
|
|
- QString ret=str;
|
|
|
- stringReplaceItems(ret,"&","&",0,0xFFFFFFFF);
|
|
|
- stringReplaceItems(ret,"\n"," ",0,0xFFFFFFFF);
|
|
|
- stringReplaceItems(ret,"\r"," ",0,0xFFFFFFFF);
|
|
|
- stringReplaceItems(ret,"<","<",0,0xFFFFFFFF);
|
|
|
- stringReplaceItems(ret,">",">",0,0xFFFFFFFF);
|
|
|
- return ret;
|
|
|
+ QString ret=str;
|
|
|
+ stringReplaceItems(ret,"&","&",0,0xFFFFFFFF);
|
|
|
+ stringReplaceItems(ret,"\n"," ",0,0xFFFFFFFF);
|
|
|
+ stringReplaceItems(ret,"\r"," ",0,0xFFFFFFFF);
|
|
|
+ stringReplaceItems(ret,"<","<",0,0xFFFFFFFF);
|
|
|
+ stringReplaceItems(ret,">",">",0,0xFFFFFFFF);
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
//returns 0 on success
|
|
|
int syn_XMLStrList(FILE *f,const QString &name,const QStringList &clist)
|
|
|
{
|
|
|
- unsigned long i,e;
|
|
|
- if (fprintf(f,"<list name=\"%s\">\n",smartAscii(syn_encodeString(name)))==EOF)
|
|
|
+ unsigned long i,e;
|
|
|
+ if (fprintf(f,"<list name=\"%s\">\n",smartAscii(syn_encodeString(name)))==EOF)
|
|
|
return 1;
|
|
|
- e=clist.count();
|
|
|
- for (i=0;i<e;i++)
|
|
|
- {
|
|
|
- if (fprintf(f,"<item> %s </item>\n",smartAscii(syn_encodeString(clist[i])))==EOF)
|
|
|
+ e=clist.count();
|
|
|
+ for (i=0;i<e;i++)
|
|
|
+ {
|
|
|
+ if (fprintf(f,"<item> %s </item>\n",smartAscii(syn_encodeString(clist[i])))==EOF)
|
|
|
return 1;
|
|
|
- }
|
|
|
- if (fputs("</list>\n",f)==EOF)
|
|
|
+ }
|
|
|
+ if (fputs("</list>\n",f)==EOF)
|
|
|
return 1;
|
|
|
- return 0;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
//returns 0 on success,-1 on file couldn't be created, and 1 if file couldn't be written to correctly.
|
|
|
int SynToXML(Syn_SettingsForDoc &syn,const QString &destFileName)
|
|
|
{
|
|
|
- FILE *f=fopen(destFileName,"wb");
|
|
|
- if (!f)
|
|
|
- return -1;
|
|
|
- syn_XMLStart(f);
|
|
|
- if (fputs("<highlighting>\n",f)==EOF)
|
|
|
+ FILE *f=fopen(destFileName,"wb");
|
|
|
+ if (!f)
|
|
|
+ return -1;
|
|
|
+ syn_XMLStart(f);
|
|
|
+ if (fputs("<highlighting>\n",f)==EOF)
|
|
|
return 1;
|
|
|
if (fputs("<list name=\"symbols\">\n"
|
|
|
"<item> < </item>\n" //for '<'
|
|
@@ -104,23 +104,43 @@ int SynToXML(Syn_SettingsForDoc &syn,const QString &destFileName)
|
|
|
,f)==EOF)
|
|
|
return 1;
|
|
|
|
|
|
- syn_XMLEnd(f);
|
|
|
- return 0;
|
|
|
+ syn_XMLEnd(f);
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
void loadPreferences(TIGCCPrefs *prefs,KConfig *cfg)
|
|
|
{
|
|
|
- defaultPreferences(prefs);
|
|
|
+ if (!cfg->hasGroup("Preferences")) {
|
|
|
+ defaultPreferences(prefs);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ cfg->setGroup("Preferences");
|
|
|
+
|
|
|
+ if (cfg->hasKey("Lazy Loading"))
|
|
|
+ prefs->lazyLoading=cfg->readBoolEntry("Lazy Loading");
|
|
|
+ else
|
|
|
+ prefs->lazyLoading=true;
|
|
|
+ if (cfg->hasKey("Tab Width Asm"))
|
|
|
+ prefs->tabWidthAsm=cfg->readUnsignedNumEntry("Tab Width Asm");
|
|
|
+ else
|
|
|
+ prefs->tabWidthAsm=8;
|
|
|
+ if (cfg->hasKey("Tab Width C"))
|
|
|
+ prefs->tabWidthC=cfg->readUnsignedNumEntry("Tab Width C");
|
|
|
+ else
|
|
|
+ prefs->tabWidthC=2;
|
|
|
}
|
|
|
|
|
|
void savePreferences(TIGCCPrefs *prefs,KConfig *cfg)
|
|
|
{
|
|
|
-
|
|
|
+ cfg->setGroup("Preferences");
|
|
|
+ cfg->writeEntry("Lazy Loading",(bool)prefs->lazyLoading);
|
|
|
+ cfg->writeEntry("Tab Width Asm",(unsigned short)prefs->tabWidthAsm);
|
|
|
+ cfg->writeEntry("Tab Width C",(unsigned short)prefs->tabWidthC);
|
|
|
}
|
|
|
|
|
|
void defaultPreferences(TIGCCPrefs *prefs)
|
|
|
{
|
|
|
- prefs->lazyLoading=true;
|
|
|
- prefs->tabWidthC=2;
|
|
|
- prefs->tabWidthAsm=8;
|
|
|
+ prefs->lazyLoading=true;
|
|
|
+ prefs->tabWidthC=2;
|
|
|
+ prefs->tabWidthAsm=8;
|
|
|
}
|