File indexing completed on 2024-04-28 08:26:53

0001 /*
0002  * This file is part of KDevelop
0003  * Copyright (C) 2012-2015 Miquel Sabaté Solà <mikisabate@gmail.com>
0004  *
0005  * This program is free software: you can redistribute it and/or modify
0006  * it under the terms of the GNU General Public License as published by
0007  * the Free Software Foundation, either version 3 of the License, or
0008  * (at your option) any later version.
0009  *
0010  * This program is distributed in the hope that it will be useful,
0011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0013  * GNU General Public License for more details.
0014  *
0015  * You should have received a copy of the GNU General Public License
0016  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
0017  */
0018 
0019 
0020 #ifndef RUBY_COMPLETION_WORKER_H
0021 #define RUBY_COMPLETION_WORKER_H
0022 
0023 
0024 #include <language/codecompletion/codecompletionworker.h>
0025 #include <completion/completionexport.h>
0026 
0027 
0028 namespace ruby {
0029 
0030 class CodeCompletionModel;
0031 class CodeCompletionContext;
0032 
0033 /**
0034  * @class CodeCompletionWorker
0035  * This is the worker for the code completion.
0036  */
0037 class KDEVRUBYCOMPLETION_EXPORT CodeCompletionWorker : public KDevelop::CodeCompletionWorker
0038 {
0039     Q_OBJECT
0040 
0041 public:
0042     /// Constructor
0043     explicit CodeCompletionWorker(CodeCompletionModel *parent);
0044 
0045 protected:
0046     /// Re-implemented from KDevelop::CodeCompletionWorker
0047     KDevelop::CodeCompletionContext *createCompletionContext(const KDevelop::DUContextPointer& context,
0048                                                              const QString &contextText,
0049                                                              const QString &followingText,
0050                                                              const KDevelop::CursorInRevision &position) const override;
0051 };
0052 
0053 }
0054 
0055 
0056 #endif /* RUBY_COMPLETION_WORKER_H */