567 def __initAsLanguage(self): |
567 def __initAsLanguage(self): |
568 """ |
568 """ |
569 Private method to initialize as a language API object. |
569 Private method to initialize as a language API object. |
570 """ |
570 """ |
571 if self.__language in ["Python", "Python2", "Python3"]: |
571 if self.__language in ["Python", "Python2", "Python3"]: |
572 self.__discardFirst = "self" |
572 self.__discardFirst = ["self", "cls"] |
573 # TODO: discard first can be 'cls' as well |
|
574 else: |
573 else: |
575 self.__discardFirst = "" |
574 self.__discardFirst = [] |
576 self.__lexer = QScintilla.Lexers.getLexer(self.__language) |
575 self.__lexer = QScintilla.Lexers.getLexer(self.__language) |
577 self.__apifiles = Preferences.getEditorAPI(self.__language) |
576 self.__apifiles = Preferences.getEditorAPI(self.__language) |
578 self.__apifiles.sort() |
577 self.__apifiles.sort() |
579 if self.__lexer is not None: |
578 if self.__lexer is not None: |
580 self.__openAPIs() |
579 self.__openAPIs() |
804 word = query.value(0) |
803 word = query.value(0) |
805 sig = query.value(1) |
804 sig = query.value(1) |
806 fullCtx = query.value(2) |
805 fullCtx = query.value(2) |
807 if sig: |
806 if sig: |
808 if self.__discardFirst: |
807 if self.__discardFirst: |
809 sig = "({0}".format(sig[1:])\ |
808 sig = "({0}".format(sig[1:]) |
810 .replace(self.__discardFirst, "", 1)\ |
809 for discard in self.__discardFirst: |
811 .strip(", \t\r\n") |
810 sig = sig.replace(discard, "", 1) |
|
811 sig = sig.strip(", \t\r\n") |
812 if self.__enoughCommas(sig, commas): |
812 if self.__enoughCommas(sig, commas): |
813 if showContext: |
813 if showContext: |
814 calltips.append("{0}{1}{2}{3}".format( |
814 calltips.append("{0}{1}{2}{3}".format( |
815 fullCtx, contextSeparator, word, sig)) |
815 fullCtx, contextSeparator, word, sig)) |
816 else: |
816 else: |
981 |
981 |
982 def __projectOpened(self): |
982 def __projectOpened(self): |
983 """ |
983 """ |
984 Private slot to perform actions after a project has been opened. |
984 Private slot to perform actions after a project has been opened. |
985 """ |
985 """ |
986 if self.__project.getProjectLanguage() in ["Python", "Python3"]: |
986 if self.__project.getProjectLanguage() in ["Python", "Python2", "Python3"]: |
987 self.__discardFirst = "self" |
987 self.__discardFirst = ["self", "cls"] |
988 else: |
988 else: |
989 self.__discardFirst = "" |
989 self.__discardFirst = [] |
990 self.__lexer = QScintilla.Lexers.getLexer(self.__project.getProjectLanguage()) |
990 self.__lexer = QScintilla.Lexers.getLexer(self.__project.getProjectLanguage()) |
991 self.__openAPIs() |
991 self.__openAPIs() |
992 |
992 |
993 def __projectClosed(self): |
993 def __projectClosed(self): |
994 """ |
994 """ |