Show count of occurrences of a selected string



  • Hello,
    I’d like to know the number of occurence of a word
    (When you double click on a word or select a specfic string) updated in real time and shown in the information bar (like sel, Ln, Col,…).
    The ctrl+f + count option allows you to count but it is too many operations.

    Can I design a plugin to achieve this purpose ?

    Thanks !

    Bob



  • @bob-bob

    You could do a plugin to get this behavior, or you could script it. Here’s an example (may not be fully rounded out) in Pythonscript, I call it SelectedTextCountIntoStatusBar.py; you would run it once per Notepad++ session:

    def callback_sci_UPDATEUI(args):
        if args['updated'] & UPDATE.SELECTION:
            matches = []
            if editor.getTextLength() < 100000:  # don't search "big" files
                if editor.getSelections() == 1 and not editor.getSelectionEmpty():
                    try:
                        editor.research(r'\Q' + editor.getSelText() + r'\E', lambda m: matches.append(1))
                    except:
                        matches = []
            l = len(matches)
            notepad.setStatusBar(STATUSBARSECTION.DOCTYPE, ' ' if l == 0 else '{} occurrence(s) of selected text'.format(l))
    
    editor.callback(callback_sci_UPDATEUI, [SCINTILLANOTIFICATION.UPDATEUI])
    

Log in to reply