File: bashsupport_part.h

package info (click to toggle)
kdevelop 4%3A3.5.2-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 48,464 kB
  • ctags: 30,573
  • sloc: cpp: 287,248; sh: 18,675; ruby: 4,097; makefile: 3,791; perl: 3,300; ansic: 1,406; python: 1,276; yacc: 529; lex: 373; java: 359; xml: 207; php: 20; ada: 5; fortran: 4; pascal: 4; sql: 1
file content (81 lines) | stat: -rw-r--r-- 1,934 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/*
 *  Copyright (C) 2003 Ian Reinhart Geiser <geiseri@kde.org>
 */


#ifndef __KDEVPART_BASHSUPPORT_H__
#define __KDEVPART_BASHSUPPORT_H__


#include <qguardedptr.h>

#include <kprocess.h>
#include <kdialogbase.h>

#include <codemodel.h>
#include <kdevplugin.h>
#include <kdevlanguagesupport.h>

#include <ktexteditor/editinterface.h>
#include <ktexteditor/viewcursorinterface.h>
#include <ktexteditor/codecompletioninterface.h>

//class BashSupportWidget;

class BashCodeCompletion : QObject
{
	Q_OBJECT
	public:
		BashCodeCompletion();
		~BashCodeCompletion();
		void setActiveEditorPart(KParts::Part*);
		void setVars(QStringList);
		QValueList<KTextEditor::CompletionEntry> getVars(const QString& textHint);

	public slots:
		void cursorPositionChanged();
		void completionBoxHidden();
		void completionBoxAbort();

	private:
		QStringList m_vars;
		bool m_argWidgetShow;
		bool m_completionBoxShow;
		KTextEditor::EditInterface *m_editInterface;
		KTextEditor::CodeCompletionInterface *m_codeInterface;
		KTextEditor::ViewCursorInterface *m_cursorInterface;
};

class BashSupportPart : public KDevLanguageSupport
{
	Q_OBJECT
	public:
		BashSupportPart(QObject *parent, const char *name, const QStringList &);
		virtual ~BashSupportPart();

	protected:
		virtual Features features();
		virtual KMimeType::List mimeTypes();

	private slots:
		void slotRun();
		void projectConfigWidget(KDialogBase *dlg);
		void projectOpened();
		void projectClosed();
		void savedFile(const KURL &fileName);
		void addedFilesToProject(const QStringList &fileList);
		void removedFilesFromProject(const QStringList &fileList);
		void parse();
		void slotActivePartChanged(KParts::Part *part);

	private:
		void startApplication(const QString &program);
		QString interpreter();
		void parse(const QString &fileName);
		void addAttribute(const QString &name, FileDom file, uint line);
		BashCodeCompletion *m_cc;
		QStringList m_vars;

};

#endif