AssistantEric/APIsManager.py

changeset 61
b88fd1352be6
parent 59
2b361d34d241
child 65
71f50b4cc169
equal deleted inserted replaced
60:9d7da7dc2585 61:b88fd1352be6
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 """

eric ide

mercurial