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

errorformat setup

Expand Messages
  • FlashBurn
    I m having trouble figuring out how to setup errorformat. I know the format of my compiler and lint tool is setup as follows: ,
    Message 1 of 5 , Mar 7, 2013
    • 0 Attachment
      I'm having trouble figuring out how to setup errorformat. I know the format of my compiler and lint tool is setup as follows:

      "<filename>",<linenumber> <error type> <error number>: <error message>

      but right from the start I'm having an issue. How do I specify quotation marks in the error format?

      Also I have a side question. errorformat help talks about %*{conv}, %O/P/Q. I was not able to find definitions for those? Can anyone point me in the right direction?

      Any help is appreciated.

      --
      --
      You received this message from the "vim_use" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php

      ---
      You received this message because you are subscribed to the Google Groups "vim_use" group.
      To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • FlashBurn
      ... I m able partially to setup my errorformat but for some reason it won t recognize the error number Here is partial output from my compiler C: Documents
      Message 2 of 5 , Mar 7, 2013
      • 0 Attachment
        On Thursday, March 7, 2013 12:17:26 PM UTC-5, FlashBurn wrote:
        > I'm having trouble figuring out how to setup errorformat. I know the format of my compiler and lint tool is setup as follows:
        >
        > "<filename>",<linenumber> <error type> <error number>: <error message>
        >
        > but right from the start I'm having an issue. How do I specify quotation marks in the error format?
        >
        > Also I have a side question. errorformat help talks about %*{conv}, %O/P/Q. I was not able to find definitions for those? Can anyone point me in the right direction?
        >
        > Any help is appreciated.

        I'm able partially to setup my errorformat but for some reason it won't recognize the error number

        Here is partial output from my compiler

        "C:\Documents and Settings\user\Projects\MyProject\trunk\src\myfile.c",126 Info 754: local structure member 'myStructMember' (line 126, file C:\Documents and Settings\user\Projects\MyProject\trunk\src\myfile.c) not referenced

        I incrementally tried to setup my errorformat
        This one works but it is not exactly what I need
        set errorformat=\"%f\"\\,%l\ \ %t%s

        For some reason this one stops working
        set errorformat=\"%f\"\\,%l\ \ %t\ %s

        Does anybody know what is the issue?

        Any help is appreciated.

        --
        --
        You received this message from the "vim_use" maillist.
        Do not top-post! Type your reply below the text you are replying to.
        For more information, visit http://www.vim.org/maillist.php

        ---
        You received this message because you are subscribed to the Google Groups "vim_use" group.
        To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@....
        For more options, visit https://groups.google.com/groups/opt_out.
      • Ben Fritz
        ... %t finds a single character, not a whole word. So in your first case %t matches the I in Info . When you add a space, it no longer matches, because
        Message 3 of 5 , Mar 7, 2013
        • 0 Attachment
          On Thursday, March 7, 2013 12:38:44 PM UTC-6, FlashBurn wrote:
          > On Thursday, March 7, 2013 12:17:26 PM UTC-5, FlashBurn wrote:
          > > I'm having trouble figuring out how to setup errorformat. I know the format of my compiler and lint tool is setup as follows:
          > >
          > > "<filename>",<linenumber> <error type> <error number>: <error message>
          > >
          > > but right from the start I'm having an issue. How do I specify quotation marks in the error format?
          > >
          > > Also I have a side question. errorformat help talks about %*{conv}, %O/P/Q. I was not able to find definitions for those? Can anyone point me in the right direction?
          > >
          > > Any help is appreciated.
          >
          > I'm able partially to setup my errorformat but for some reason it won't recognize the error number
          >
          > Here is partial output from my compiler
          >
          > "C:\Documents and Settings\user\Projects\MyProject\trunk\src\myfile.c",126 Info 754: local structure member 'myStructMember' (line 126, file C:\Documents and Settings\user\Projects\MyProject\trunk\src\myfile.c) not referenced
          >
          > I incrementally tried to setup my errorformat
          > This one works but it is not exactly what I need
          > set errorformat=\"%f\"\\,%l\ \ %t%s
          >
          > For some reason this one stops working
          > set errorformat=\"%f\"\\,%l\ \ %t\ %s
          >
          > Does anybody know what is the issue?
          >

          %t finds a single character, not a whole word. So in your first case %t matches the "I" in "Info". When you add a space, it no longer matches, because there is no space character after the "I".

          Additionally you may want %n (to match the 754 after "Info") and %m instead of %s to capture the rest of the string as an error string to output with the error number.

          I'm not sure whether there is a workaround for the fact that %t only takes a single character. I don't know if it will work, but I've thought about trying to start and end a multi-line message (:help errorformat-multi-line) on the same line to specify the error type explicitly.

          --
          --
          You received this message from the "vim_use" maillist.
          Do not top-post! Type your reply below the text you are replying to.
          For more information, visit http://www.vim.org/maillist.php

          ---
          You received this message because you are subscribed to the Google Groups "vim_use" group.
          To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@....
          For more options, visit https://groups.google.com/groups/opt_out.
        • FlashBurn
          ... Ben, Thanks a lot for helping out. Once I read your answer and did a little bit of googling it became clear what needs to be done. It turns out you can do
          Message 4 of 5 , Mar 7, 2013
          • 0 Attachment
            On Thursday, March 7, 2013 1:53:48 PM UTC-5, Ben Fritz wrote:
            > On Thursday, March 7, 2013 12:38:44 PM UTC-6, FlashBurn wrote:
            > > On Thursday, March 7, 2013 12:17:26 PM UTC-5, FlashBurn wrote:
            > > > I'm having trouble figuring out how to setup errorformat. I know the format of my compiler and lint tool is setup as follows:
            > > >
            > > > "<filename>",<linenumber> <error type> <error number>: <error message>
            > > >
            > > > but right from the start I'm having an issue. How do I specify quotation marks in the error format?
            > > >
            > > > Also I have a side question. errorformat help talks about %*{conv}, %O/P/Q. I was not able to find definitions for those? Can anyone point me in the right direction?
            > > >
            > > > Any help is appreciated.
            > >
            > > I'm able partially to setup my errorformat but for some reason it won't recognize the error number
            > >
            > > Here is partial output from my compiler
            > >
            > > "C:\Documents and Settings\user\Projects\MyProject\trunk\src\myfile.c",126 Info 754: local structure member 'myStructMember' (line 126, file C:\Documents and Settings\user\Projects\MyProject\trunk\src\myfile.c) not referenced
            > >
            > > I incrementally tried to setup my errorformat
            > > This one works but it is not exactly what I need
            > > set errorformat=\"%f\"\\,%l\ \ %t%s
            > >
            > > For some reason this one stops working
            > > set errorformat=\"%f\"\\,%l\ \ %t\ %s
            > >
            > > Does anybody know what is the issue?
            > >
            >
            > %t finds a single character, not a whole word. So in your first case %t matches the "I" in "Info". When you add a space, it no longer matches, because there is no space character after the "I".
            >
            > Additionally you may want %n (to match the 754 after "Info") and %m instead of %s to capture the rest of the string as an error string to output with the error number.
            >
            > I'm not sure whether there is a workaround for the fact that %t only takes a single character. I don't know if it will work, but I've thought about trying to start and end a multi-line message (:help errorformat-multi-line) on the same line to specify the error type explicitly.

            Ben,

            Thanks a lot for helping out. Once I read your answer and did a little bit of googling it became clear what needs to be done. It turns out you can do a pattern matching inside the errorformat. It is explained between
            :help efm-ignore and :help efm-entries. The user needs to use %* for pattern matching.

            I set my errorformat to the following:

            "match the filename and line number
            let &errorformat = \"%f\"\\,%l
            " match white space, first character of error type, the rest of the characters of the error type, and white space again.
            let &errorformat .= %*\\s%t%*\\w%*\\s
            "match error number, whitespace and error message.
            let &errorformat .= %n%*\\s%m

            It worked. Now I must match multiline output from the compiler.

            --
            --
            You received this message from the "vim_use" maillist.
            Do not top-post! Type your reply below the text you are replying to.
            For more information, visit http://www.vim.org/maillist.php

            ---
            You received this message because you are subscribed to the Google Groups "vim_use" group.
            To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@....
            For more options, visit https://groups.google.com/groups/opt_out.
          • FlashBurn
            ... Slight mistake in the erroformat, here is what it should be: Match the filename and line number let &errorformat = %f ,%l Match white space, first
            Message 5 of 5 , Mar 7, 2013
            • 0 Attachment
              On Thursday, March 7, 2013 2:44:42 PM UTC-5, FlashBurn wrote:
              > On Thursday, March 7, 2013 1:53:48 PM UTC-5, Ben Fritz wrote:
              > > On Thursday, March 7, 2013 12:38:44 PM UTC-6, FlashBurn wrote:
              > > > On Thursday, March 7, 2013 12:17:26 PM UTC-5, FlashBurn wrote:
              > > > > I'm having trouble figuring out how to setup errorformat. I know the format of my compiler and lint tool is setup as follows:
              > > > >
              > > > > "<filename>",<linenumber> <error type> <error number>: <error message>
              > > > >
              > > > > but right from the start I'm having an issue. How do I specify quotation marks in the error format?
              > > > >
              > > > > Also I have a side question. errorformat help talks about %*{conv}, %O/P/Q. I was not able to find definitions for those? Can anyone point me in the right direction?
              > > > >
              > > > > Any help is appreciated.
              > > >
              > > > I'm able partially to setup my errorformat but for some reason it won't recognize the error number
              > > >
              > > > Here is partial output from my compiler
              > > >
              > > > "C:\Documents and Settings\user\Projects\MyProject\trunk\src\myfile.c",126 Info 754: local structure member 'myStructMember' (line 126, file C:\Documents and Settings\user\Projects\MyProject\trunk\src\myfile.c) not referenced
              > > >
              > > > I incrementally tried to setup my errorformat
              > > > This one works but it is not exactly what I need
              > > > set errorformat=\"%f\"\\,%l\ \ %t%s
              > > >
              > > > For some reason this one stops working
              > > > set errorformat=\"%f\"\\,%l\ \ %t\ %s
              > > >
              > > > Does anybody know what is the issue?
              > > >
              > >
              > > %t finds a single character, not a whole word. So in your first case %t matches the "I" in "Info". When you add a space, it no longer matches, because there is no space character after the "I".
              > >
              > > Additionally you may want %n (to match the 754 after "Info") and %m instead of %s to capture the rest of the string as an error string to output with the error number.
              > >
              > > I'm not sure whether there is a workaround for the fact that %t only takes a single character. I don't know if it will work, but I've thought about trying to start and end a multi-line message (:help errorformat-multi-line) on the same line to specify the error type explicitly.
              >
              > Ben,
              >
              > Thanks a lot for helping out. Once I read your answer and did a little bit of googling it became clear what needs to be done. It turns out you can do a pattern matching inside the errorformat. It is explained between
              > :help efm-ignore and :help efm-entries. The user needs to use %* for pattern matching.
              >
              > I set my errorformat to the following:
              >
              > "match the filename and line number
              > let &errorformat = \"%f\"\\,%l
              > " match white space, first character of error type, the rest of the characters of the error type, and white space again.
              > let &errorformat .= %*\\s%t%*\\w%*\\s
              > "match error number, whitespace and error message.
              > let &errorformat .= %n%*\\s%m
              >
              > It worked. Now I must match multiline output from the compiler.

              Slight mistake in the erroformat, here is what it should be:

              " Match the filename and line number
              let &errorformat = '"%f"\,%l'
              " Match white space, first character of error type, the rest of the characters
              " of the error type, and white space again.
              let &errorformat .= '%*\s%t%*\w%*\s'
              "Match error number, whitespace and error message.
              let &errorformat .= '%n:%*\s%m'

              --
              --
              You received this message from the "vim_use" maillist.
              Do not top-post! Type your reply below the text you are replying to.
              For more information, visit http://www.vim.org/maillist.php

              ---
              You received this message because you are subscribed to the Google Groups "vim_use" group.
              To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@....
              For more options, visit https://groups.google.com/groups/opt_out.
            Your message has been successfully submitted and would be delivered to recipients shortly.