Navigation

    Community

    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    Notepad++ whitespace autocomplete define

    Help wanted · · · – – – · · ·
    3
    13
    197
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Moutaz Bakier
      Moutaz Bakier last edited by

      Is there a way to add white space to startFunc= for show of the function detail?

      <AutoComplete>
              <Environment ignoreCase="yes" startFunc=" " stopFunc=" " paramSeparator=" " terminal=";" additionalWordChar = ":"/>
              <KeyWord name="abs" func="yes">
                  <Overload retVal="int" descr="descr">
                      <Param name="<param1>" />
                      <Param name="<param2>" />
                  </Overload>
              </KeyWord>
          </AutoComplete>
      
      1 Reply Last reply Reply Quote 0
      • PeterJones
        PeterJones last edited by

        @Moutaz-Bakier asked,

        Is there a way to add white space to startFunc

        Sorry, no. As it says in the docs,

        NOTE: Spaces can’t be used as the character for the attributes.

        1 Reply Last reply Reply Quote 1
        • Moutaz Bakier
          Moutaz Bakier last edited by

          Is there a possibility to support the white space in the future?

          1 Reply Last reply Reply Quote 0
          • PeterJones
            PeterJones last edited by

            The possibility increases from 0 after a feature request; but please understand that not all feature requests – even if they sound good to you – are accepted/implemented.

            1 Reply Last reply Reply Quote 3
            • Moutaz Bakier
              Moutaz Bakier last edited by

              Are there other solutions to this problem or how to show hints?

              1 Reply Last reply Reply Quote 0
              • PeterJones
                PeterJones last edited by

                So, if I understand your requirements, you have a language that doesn’t use parenthesis around the argument list and doesn’t use commas between arguments. Is this correct?

                If so, I think you’re out-of-luck with builtin solutions. You would have to do a lot of coding, or find someone to do it for you, to make a custom plugin, or figure out all the scintilla commands to implement additional auto-complete syntax.

                However, there’s a pseudo-workaround. If you have a snippets plugin of some sort (like QuickText), you could set up a snippet with the shortcut that gives the parameter names, for example, define abs with replacement abs param1 param2. You would then manually have to go replace those placeholder params with your actual values… but it would at least remind you of what’s needed. (QuickText has multiple hotspots , which might allow you to easily go to the beginning or end of each param – but I’ve never figured out how to make it go to a second hotspot if multiple are defined; maybe @Michael-Vincent, who did the 64bit conversion, would be able to answer how to got to a second hotspot)

                Michael Vincent 1 Reply Last reply Reply Quote 1
                • Michael Vincent
                  Michael Vincent @PeterJones last edited by

                  @PeterJones said in Notepad++ whitespace autocomplete define:

                  but I’ve never figured out how to make it go to a second hotspot if multiple are defined

                  That should work, but I’ve only tested with my setup of the “Tab” key as the “Replace Tag” hotkey.

                  I’ll use Perl as an example (for many reasons :-). In my QuickText.ini tag file:

                  for=for my $$ ( $ ) {\n $\n}\n$

                  So in Perl when I type:

                  for[tab]
                  

                  Where [tab] is me hitting the “Tab” key which is my hotkey for QuickText=>Replace Tag, I get:

                  for my $| (  ) {
                      
                  }
                  

                  where the pipe “|” above is showing my cursor. Pressing “Tab” again moves my cursor to between the parenthesis:

                  for my $ ( | ) {
                      
                  }
                  

                  again tab moves to the next line:

                  for my $ (  ) {
                      |
                  }
                  

                  and on and on to all the “$” in the original tag. They mark the places where to stop.

                  Does that work for you, or does it not behave that way?

                  Cheers.

                  1 Reply Last reply Reply Quote 3
                  • PeterJones
                    PeterJones last edited by

                    @Michael-Vincent said in Notepad++ whitespace autocomplete define:

                    Does that work for you, or does it not behave that way?

                    As ashamed as I am to admit it, it never occurred to me to use the same key sequence to move between hotspots as to start the QuickText replacement. DOH! Yes, the shortcut key sequence does loop through all the hotspots. (In my defense, the keysequence I was using wasn’t as simple as TAB, so I never accidentally hit it while in a hotspot location. And the README doesn’t mention that. :-) )

                    ----

                    So, @Moutaz-Bakier , if you set the hotkey to TAB (and now that Michael’s pointed it out, that’s probably what I’d recommend, since it doesn’t get in the way of normal tab usage in NPP), then you should be able to set up QuickText. If you have your special filetype associated with a User Defined Language (UDL), then in QuickText, you could open up Plugins > QuickText > Options; it should select USER for you (unfortunately, there’s only one USER category shared among all UDL), and you can define all your functions as

                    • abs = abs $NamedArgOne $NamedArgTwo
                    • open = open $FileName as $FileMode
                    • for = for $var in $start thru $end
                    • superlongname = superlongname with $namedArg doing $codehere

                    if you type open[TAB], then it will fill in open |FileName as FileMode, putting your cursor before the FileName argument, which you can then replace; then [TAB] again will move to FileMode.

                    If superlongname is already in your autoCompletion\myUdlName.xml definition, then you should be able to use normal autocomplete feature to help you type sup[CompletionKey][QuickTextKey] to get the long function name, then the hints.

                    It’s not exactly what you want (popover hints), but it’s the least amount of programming to get something close. Maybe that will at least somewhat work for you.

                    1 Reply Last reply Reply Quote 2
                    • Moutaz Bakier
                      Moutaz Bakier last edited by

                      @PeterJones said in Notepad++ whitespace autocomplete define:

                      QuickText

                      The QuickText did not show the names of the languages, nor did it follow what I wanted.
                      I would like to show information about the statement after writing it then a space.

                      1 Reply Last reply Reply Quote 0
                      • PeterJones
                        PeterJones last edited by

                        @Moutaz-Bakier

                        The QuickText did not show the names of the languages, nor did it follow what I wanted.
                        I would like to show information about the statement after writing it then a space.

                        I am sorry it was not sufficient for you. You don’t say what about my workaround (which was very clearly described as only a partial, “close” workaround, not as exactly what you wanted) wasn’t good enough for you. And unless you can articulate that better, I doubt any workaround or feature implementation will meet your needs.

                        Like I said earlier, I am unaware of any way to make the parameter-list autocomplete work the way you have described, as the application is currently written. The only alternative is a lot of programming on somebody’s part – whether it be in a plugin, using a PythonScript, or changing the codebase of the Notepad++ application itself.

                        Writing a plugin, or changing the codebase, aren’t something we can do for you in this forum. Writing a simple PythonScript solution to a user problem has often been done in the forum, but I think your request is more complex than could be reasonably expected someone in a forum-situation to deliver.

                        If you want to make a feature request, follow this faq – which I already linked above. But I am betting it’s not likely to be accepted/implemented, or, if it is, it will be months or longer down the road before you would see it released. If you do go down this route, you need to be very clear in your description of the feature (because given your brief description and terse replies and lack of detail, I find it very unlikely that anybody’s implementation of the feature would match what you wanted, even if someone were trying to put in the effort of implementing it).

                        1 Reply Last reply Reply Quote 0
                        • Moutaz Bakier
                          Moutaz Bakier last edited by

                          Is there a similar QuickText plugin?

                          1 Reply Last reply Reply Quote 0
                          • PeterJones
                            PeterJones last edited by PeterJones

                            Is there a similar QuickText plugin?

                            There are other code-snippet plugins. None of them will do exactly what you want, because that is not their intention. I was just using QuickText as an example snippet plugin which I happened to know well enough to come up with a possible workaround to the features that I thought you were wanting.

                            But you seem unwilling to share how my QuickText suggestion wasn’t close enough. It might be that QuickText can get a little closer – or it might be that another snippet plugin will come closer. But none of them do exactly what you want. The feature that you have asked for, as far as I know, has never been implemented for Notepad++. And since you won’t tell us how close is “close enough”, without it being the exact feature that you want, then there is no way for us to guess how to make QuickText or any other plugin work “well enough” for you, since you haven’t defined that to us.

                            As your continued posts have added nothing to my understanding of what you want, I will not be replying again to you until you are willing or able to provide enough detail that I have something more to add. As none of the other 46 views of this page (as of right now) have chimed in about your core issue, my guess is that no one else has been able to come up with anything more to add. If you want help, you’re going to have to provide more details. Sorry.

                            1 Reply Last reply Reply Quote 1
                            • Moutaz Bakier
                              Moutaz Bakier last edited by

                              Thanks for the help

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright © 2014 NodeBB Forums | Contributors