Loading ...
Sorry, an error occurred while loading the content.
 

Re: Is this ccomplete's bug?

Expand Messages
  • Brett Stahlman
    ... Jason, I see the same behavior as you. In fact, you will see the same list of members even if you use aa or bb instead of sA. I haven t looked at it in
    Message 1 of 10 , Oct 1, 2009
      On Oct 1, 6:30 am, jason <beyond...@...> wrote:
      > Hi Dominique
      > I don't use omnicppcomplete-0.41, I use vim's default omnicomplete function.
      > These is my .vimrc setting about omnicomplete function:
      > set completeopt=menu,longest
      > set omnifunc=ccomplete#Complete
      > My vim version is 7.2.0 in Windows and 7.2.245 in Slackware 13.0.
      > Ctags is 5.7. I just run "ctags -R ." in working dir.
      > In your screenshot, you inserted a space before "sA.", which changed to
      > "pb-> sA.", not "pb->sA.".
      > My problem is that if I don't insert space before "sA.", just "pb->sA.",
      > then put cursor behind "sA.", press C-X C-O,
      > omnicomplete's completion information is members of struct tagBBB,
      > but not members of struct tagAAA.
      > Thanks!
      > B.R.

      Jason,
      I see the same behavior as you. In fact, you will see the same list of
      members even if you use aa or bb instead of sA. I haven't looked at it
      in detail, but a quick glance at the ccomplete.vim file leads me to
      suspect that it doesn't contain the recursive logic to traverse a
      sequence of nested structures. I believe that for a . or ->
      completion, it looks all the way back to the beginning of the WORD
      (unbroken sequence of non-whitespace, including . and ->) to determine
      the type whose members will be displayed in the popup. If you type...
      pb->aa.bb.cc.something_silly.<C-X><C-O>
      ...you will still see the members of BB in the popup; i.e., only the
      type of pb matters.

      As Dominique pointed out, omnicppcomplete doesn't suffer from this
      limitation, and it works for C and C++. Incidentally, does anyone know
      whether Vissale Neang still maintains the omnicppcomplete plugin? I
      haven't gotten responses to a post and a private email on several
      omnicppcomplete issues...

      Thanks,
      Brett Stahlman

      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_use" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • jason
      Hi Brett I tried omnicppcomplete-0.41 as Dominique s setting, but it didn t work for me. Error message is Omni Completion (^O^N^P)* pattern not found** * I
      Message 2 of 10 , Oct 1, 2009
        Hi Brett
        I tried omnicppcomplete-0.41 as Dominique's setting,
        but it didn't work for me.
        Error message is "Omni Completion (^O^N^P) pattern not found"
        I tested it in the same file.
        I saw omnifunc=omni#cpp#complete#Main,
        which is from omnicppcomplet-0.4.1.
        I have no idea to get it solved.
        Thanks!
        B.R.

        2009/10/2 Brett Stahlman <brettstahlman@...>



        On Oct 1, 6:30 am, jason <beyond...@...> wrote:
        > Hi Dominique
        > I don't use omnicppcomplete-0.41, I use vim's default omnicomplete function.
        > These is my .vimrc setting about omnicomplete function:
        > set completeopt=menu,longest
        > set omnifunc=ccomplete#Complete
        > My vim version is 7.2.0 in Windows and 7.2.245 in Slackware 13.0.
        > Ctags is 5.7. I just run "ctags -R ." in working dir.
        > In your screenshot, you inserted a space before "sA.", which changed to
        > "pb-> sA.", not "pb->sA.".
        > My problem is that if I don't insert space before "sA.", just "pb->sA.",
        > then put cursor behind "sA.", press C-X C-O,
        > omnicomplete's completion information is members of struct tagBBB,
        > but not members of struct tagAAA.
        > Thanks!
        > B.R.

        Jason,
        I see the same behavior as you. In fact, you will see the same list of
        members even if you use aa or bb instead of sA. I haven't looked at it
        in detail, but a quick glance at the ccomplete.vim file leads me to
        suspect that it doesn't contain the recursive logic to traverse a
        sequence of nested structures. I believe that for a . or ->
        completion, it looks all the way back to the beginning of the WORD
        (unbroken sequence of non-whitespace, including . and ->) to determine
        the type whose members will be displayed in the popup. If you type...
           pb->aa.bb.cc.something_silly.<C-X><C-O>
        ...you will still see the members of BB in the popup; i.e., only the
        type of pb matters.

        As Dominique pointed out, omnicppcomplete doesn't suffer from this
        limitation, and it works for C and C++. Incidentally, does anyone know
        whether Vissale Neang still maintains the omnicppcomplete plugin? I
        haven't gotten responses to a post and a private email on several
        omnicppcomplete issues...

        Thanks,
        Brett Stahlman




        --~--~---------~--~----~------------~-------~--~----~
        You received this message from the "vim_use" maillist.
        For more information, visit http://www.vim.org/maillist.php
        -~----------~----~----~----~------~----~------~--~---

      • Stahlman Family
        ... Jason, How did you build the tags file? Here s the sample command line shown in the omnicppcomplete help: ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
        Message 3 of 10 , Oct 1, 2009
          jason wrote:
          > Hi Brett
          > I tried omnicppcomplete-0.41 as Dominique's setting,
          > but it didn't work for me.
          > Error message is "Omni Completion (^O^N^P)* pattern not found**"*
          > I tested it in the same file.
          > I saw omnifunc=omni#cpp#complete#Main,
          > which is from omnicppcomplet-0.4.1.
          > I have no idea to get it solved.
          > Thanks!
          > B.R.

          Jason,
          How did you build the tags file? Here's the sample command line shown in
          the omnicppcomplete help:

          ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .

          Brett S.

          >

          --~--~---------~--~----~------------~-------~--~----~
          You received this message from the "vim_use" maillist.
          For more information, visit http://www.vim.org/maillist.php
          -~----------~----~----~----~------~----~------~--~---
        • jason
          Hi Brett I did it as you said. my test.c is in dir $HOME/test these is my steps: 1.cd ~/test 2.run command ctags -R --c++-kinds=+p --fields=+iaSn --extra=+q
          Message 4 of 10 , Oct 1, 2009
            Hi Brett
            I did it as you said.
            my test.c is in dir $HOME/test
            these is my steps:
            1.cd ~/test
            2.run command "ctags -R --c++-kinds=+p --fields=+iaSn --extra=+q ."
            3.run vim
            4.put cursor at the end of "pb->"
            5.press C-X C-O
            It shows "Omni Completion (^O^N^P)* pattern not found".
            Are these operations correctly?
            Thanks!
            B.R.

            2009/10/2 Stahlman Family <brettstahlman@...>



            jason wrote:
            > Hi Brett
            > I tried omnicppcomplete-0.41 as Dominique's setting,
            > but it didn't work for me.
            > Error message is "Omni Completion (^O^N^P)* pattern not found**"*
            > I tested it in the same file.
            > I saw omnifunc=omni#cpp#complete#Main,
            > which is from omnicppcomplet-0.4.1.
            > I have no idea to get it solved.
            > Thanks!
            > B.R.

            Jason,
            How did you build the tags file? Here's the sample command line shown in
            the omnicppcomplete help:

            ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .

            Brett S.

            >




            --~--~---------~--~----~------------~-------~--~----~
            You received this message from the "vim_use" maillist.
            For more information, visit http://www.vim.org/maillist.php
            -~----------~----~----~----~------~----~------~--~---

          • John Beckett
            Please bottom post on this list. Quote a small (relevant) part of the message you are replying to, and put your text underneath. See
            Message 5 of 10 , Oct 1, 2009
              Please bottom post on this list. Quote a small (relevant) part
              of the message you are replying to, and put your text underneath.

              See
              http://groups.google.com/group/vim_use/web/vim-information


              --~--~---------~--~----~------------~-------~--~----~
              You received this message from the "vim_use" maillist.
              For more information, visit http://www.vim.org/maillist.php
              -~----------~----~----~----~------~----~------~--~---
            • Stahlman Family
              ... You need to change typedf to typedef in your source files. Neither C nor ctags recognizes the former spelling. Brett Stahlman
              Message 6 of 10 , Oct 2, 2009
                jason wrote:
                > Hi Brett
                > I did it as you said.
                > my test.c is in dir $HOME/test
                > these is my steps:
                > 1.cd ~/test
                > 2.run command "ctags -R --c++-kinds=+p --fields=+iaSn --extra=+q ."
                > 3.run vim
                > 4.put cursor at the end of "pb->"
                > 5.press C-X C-O
                > It shows "Omni Completion (^O^N^P)* pattern not found".
                > Are these operations correctly?
                > Thanks!
                > B.R.
                >

                You need to change typedf to typedef in your source files. Neither C nor
                ctags recognizes the former spelling.

                Brett Stahlman

                --~--~---------~--~----~------------~-------~--~----~
                You received this message from the "vim_use" maillist.
                For more information, visit http://www.vim.org/maillist.php
                -~----------~----~----~----~------~----~------~--~---
              • jason
                Thank you very much! 2009/10/2 Stahlman Family ... --~--~---------~--~----~------------~-------~--~----~ You received this message
                Message 7 of 10 , Oct 2, 2009
                  Thank you very much!


                  2009/10/2 Stahlman Family <brettstahlman@...>

                  You need to change typedf to typedef in your source files. Neither C nor
                  ctags recognizes the former spelling.

                  Brett Stahlman




                  --~--~---------~--~----~------------~-------~--~----~
                  You received this message from the "vim_use" maillist.
                  For more information, visit http://www.vim.org/maillist.php
                  -~----------~----~----~----~------~----~------~--~---

                Your message has been successfully submitted and would be delivered to recipients shortly.