Re: [CEDET-devel] Determine if a region has invalid syntax
Brought to you by:
zappo
From: Tu Do <tuh...@gm...> - 2015-02-04 14:42:54
|
That's it. (semantic-unmatched-syntax-tokens) is all I need. I only need to check if a piece of code is syntactically well formed. To do this, after a user selects a region, I put it in a temp buffer, set it to C/C++ mode and enable semantic-unmatched-syntax-mode in that temp buffer then call the function. If it is non-nil, then no next action is proceeded. The extract features I'm working on look like this in general: http://eclipsebook.in/c-cpp-development/editing-code/refactoring/#extract-functions. The primary one is macro extraction (turn a region into macro) and function extraction. Thanks again. On Wed, Feb 4, 2015 at 8:33 PM, Tu Do <tuh...@gm...> wrote: > I intend to do a function extraction, but want to prevent user to do so > when the selected region is not well formed. Just simple checking is enough. > > Thanks for the answer. > > On Wed, Feb 4, 2015 at 8:00 PM, Eric Ludlam <eri...@gm...> wrote: > >> On 02/04/2015 06:20 AM, Tu Do wrote: >> >>> Hi Eric, >>> >>> Is there a way to determine if a selected region is syntactically >>> correct? Something that answers t or nil is good enough. >>> >> >> Hi, >> >> The answer depends on the parser, and most of the parsers only scan the >> declarations, and skip the contents of functions. Thus, if you are looking >> for correctness of "code", you are better off with flymake and a linter, or >> something similar. >> >> If you are ok with only checking the declaration of functions, etc, there >> is a hook `semantic-unmatched-syntax-hook' that tells you when there is >> bad syntax as it is parsed. You are probably more interested in >> `global-semantic-show-unmatched-syntax-mode'. There are a bunch of fcns >> related to that which will probably help you with your task. >> >> Eric >> > > |