summaryrefslogtreecommitdiffstats
path: root/parts/ctags2/tags.h
diff options
context:
space:
mode:
Diffstat (limited to 'parts/ctags2/tags.h')
-rw-r--r--parts/ctags2/tags.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/parts/ctags2/tags.h b/parts/ctags2/tags.h
new file mode 100644
index 00000000..1d7e3604
--- /dev/null
+++ b/parts/ctags2/tags.h
@@ -0,0 +1,74 @@
+/***************************************************************************
+ * Copyright (C) 2004 by Jens Dagerbo *
+ * jens.dagerbo@swipnet.se *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef TAGS_H
+#define TAGS_H
+
+#include <qvaluelist.h>
+#include <qcstring.h>
+#include <qstring.h>
+#include <qstringlist.h>
+
+class Tags
+{
+public:
+
+ struct TagEntry
+ {
+ TagEntry();
+ TagEntry( const QString & tag, const QString & type, const QString & file, const QString & pattern );
+
+ QString tag;
+ QString type;
+ QString file;
+ QString pattern;
+ };
+
+ typedef QValueList<TagEntry> TagList;
+
+ /**
+ * Method to set the tag database filename
+ * @param file the tag database filename
+ */
+ static void setTagFiles(const QStringList& tagFiles);
+
+ static QStringList getTagFiles();
+
+ /**
+ * Method to check if the tag database contains a specific tag
+ * @param tag Tag to look up
+ * @return returns true if tag database contains 'tag'
+ */
+ static bool hasTag( const QString & tag );
+
+ static unsigned int numberOfPartialMatches( const QString & tagpart );
+ static unsigned int numberOfExactMatches( const QString & tag );
+ static unsigned int numberOfMatches( const QString & tagpart, bool partial );
+
+ static TagList getPartialMatches( const QString & tagpart );
+ static TagList getExactMatches( const QString & tag );
+ static TagList getMatches( const QString & tagpart, bool partial, const QStringList & types = QStringList() );
+
+private:
+ static Tags::TagList getMatches(const char* tagFile,
+ const QString & tagpart,
+ bool partial,
+ const QStringList & types );
+ static unsigned int numberOfMatches(const char* tagFile,
+ const QString & tagpart,
+ bool partial );
+ static bool hasTag(const char* tagFile, const QString & tag );
+ static QStringList _tagFiles;
+};
+
+#endif
+
+// kate: space-indent off; indent-width 4; tab-width 4; show-tabs off;