21 #ifndef __KATE_AUTO_INDENT_H__
22 #define __KATE_AUTO_INDENT_H__
26 #include "katecursor.h"
27 #include "kateconfig.h"
28 #include "katejscript.h"
62 virtual void apply () = 0;
97 static TQString
modeName (uint mode);
111 static uint
modeNumber (
const TQString &name);
185 virtual uint
modeNumber ()
const {
return KateDocumentConfig::imNone; };
208 void slotAboutToShow();
211 void setMode (
int mode);
280 virtual uint
modeNumber ()
const {
return KateDocumentConfig::imNormal; };
329 uchar doxyCommentAttrib;
337 uchar extensionAttrib;
338 uchar preprocessorAttrib;
353 KateCSmartIndent (KateDocument *doc);
354 ~KateCSmartIndent ();
364 virtual uint
modeNumber ()
const {
return KateDocumentConfig::imCStyle; };
376 bool processingBlock;
384 KatePythonIndent (KateDocument *doc);
385 ~KatePythonIndent ();
389 virtual uint
modeNumber ()
const {
return KateDocumentConfig::imPythonStyle; };
392 int calcExtra (
int &prevBlock,
int &pos,
KateDocCursor &end);
395 static TQRegExp endWithColon;
396 static TQRegExp stopStmt;
397 static TQRegExp blockBegin;
405 KateXmlIndent (KateDocument *doc);
408 virtual uint
modeNumber ()
const {
return KateDocumentConfig::imXmlStyle; }
421 void getLineInfo (uint line, uint &prevIndent,
int &numTags,
422 uint &attrCol,
bool &unclosedTag);
425 static const TQRegExp startsWithCloseTag;
426 static const TQRegExp unclosedDoctype;
434 KateCSAndSIndent (KateDocument *doc);
435 ~KateCSAndSIndent ();
445 virtual uint
modeNumber ()
const {
return KateDocumentConfig::imCSAndS; };
448 void updateIndentString();
450 bool inForStatement(
int line );
452 bool startsWithLabel(
int line );
457 TQString calcIndentAfterKeyword(
const KateDocCursor &indentCursor,
const KateDocCursor &keywordCursor,
int keywordPos,
bool blockKeyword);
462 TQString findOpeningCommentIndentation (
const KateDocCursor &start);
464 TQString indentString;
518 virtual uint
modeNumber ()
const {
return KateDocumentConfig::imVarIndent; };
521 void slotVariableChanged(
const TQString&,
const TQString&);
532 int coupleBalance(
int line,
const TQChar &open,
const TQChar &close )
const;
540 class KateVarIndentPrivate *d;
548 KateScriptIndent( KateDocument *doc );
559 virtual uint
modeNumber ()
const {
return KateDocumentConfig::imScriptIndent; };
561 KateIndentScript m_script;
569 ScriptIndentConfigPage ( TQWidget *parent=0,
const char *name=0 );
570 virtual ~ScriptIndentConfigPage ();
576 virtual void apply ();