Skip to content

fix: wrong trigger when user typing from code. #206

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 25, 2024

Conversation

hanrw
Copy link
Contributor

@hanrw hanrw commented Jun 25, 2024

 override fun activeLookupChanged(oldLookup: Lookup?, newLookup: Lookup?) {
        if (!project.coderSetting.state.enableRenameSuggestion) return

        val lookupImpl = newLookup as? LookupImpl ?: return
        val editor = lookupImpl.editor as? EditorEx ?: return
        val targetElement: PsiElement = lookupElement(lookupImpl, editor) ?: return

        // maybe user just typing, we should handle for this
        val originName = (targetElement as? PsiNameIdentifierOwner)?.name ?: return

        if (originName.isBlank()) return

        val promptText =
            "$originName is a badname. Please provide 5 better options name for follow code: \n```${targetElement.language.displayName}\n${targetElement.text}\n```\n\n1."

        try {
            doExecuteNameSuggest(promptText, lookupImpl)
            logger.warn("will trigger when typing from java code") // ======= Note here =========
        } catch (e: Exception) {
            logger.warn("Error in RenameLookupManagerListener", e)
        }
    }
    override fun activeLookupChanged(oldLookup: Lookup?, newLookup: Lookup?) {
        if (!project.coderSetting.state.enableRenameSuggestion) return

        val lookupImpl = newLookup as? LookupImpl ?: return
        val editor = lookupImpl.editor as? EditorEx ?: return
        val targetElement: PsiElement = lookupElement(lookupImpl, editor) ?: return

        // maybe user just typing, we should handle for this
        val originName = (targetElement as? PsiNameIdentifierOwner)?.name ?: return

        // avoid user typing in template. only suggest that user refactor the name
        TemplateManager.getInstance(project).getActiveTemplate(editor) ?: return

        if (originName.isBlank()) return

        val promptText =
            "$originName is a badname. Please provide 5 better options name for follow code: \n```${targetElement.language.displayName}\n${targetElement.text}\n```\n\n1."

        try {
            doExecuteNameSuggest(promptText, lookupImpl)
            logger.warn("will trigger when typing from java code")
        } catch (e: Exception) {
            logger.warn("Error in RenameLookupManagerListener", e)
        }
    }

fixed by

      // avoid user typing in template. only suggest that user refactor the name
        TemplateManager.getInstance(project).getActiveTemplate(editor) ?: return

@zhengxs2018 zhengxs2018 merged commit 80e10a7 into unit-mesh:master Jun 25, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants