>>> bread <breaddawson@...> seems to think that:
[ ... ]
>>
>> You're summary is pretty close. If you right-click on an include, and
>> choose "Summarize Includes current buffer", or just do:
>>
>> M-x semantic-decoration-all-include-summary RET
>
>Did you mean right-click in Emacs? I just found it did not work for me...
>Actually when i right clicked on my codes, nothing happened but some blocks
>are selected.
you probably don't have that decoration mode turned off. Add this to
your .emacs file:
(semantic-load-enable-gaudy-code-helpers)
or turn on just the single item:
(require 'semantic-decorate-include)
It can be handy to see what state semantic is in sometimes.
>And, there's no semantic-decoration-all-include-summary. What i can find is
>only semantic-decoration-mode.
>
>But i found that semanticdb-find-test-translate-path can output some include
>files, and i'm not sure if these are the candidates where semantic will look
>for symbols in.
That is the list of include files that Semantic will search through.
>you will get the exact list of things Semantic is using to find
>> include files.
>>
>> There are also two completion styles in Semantic. There is "smart"
>> completion, and also a more generic brute-force completion that looks
>> up any old symbol it can find.
>>
>> Some tools start with the smart completion, and if it fails, uses the
>> backup completion. This may be what you are seeing. The brute force
>> completion includes all parsed files in the current buffer, or any
>> databases it can find under the current project, but again only for
>> files it has already parsed.
>
>
>So what semantic-ia-complete-symbol-menu uses both smart and brute-force
>completions, right?
Yes.
>I wanted to wrap up knowledge of what a project is in EDE, and not
>> repeat it for Semantic, so there are a couple of simplified EDE
>> projects you can use to mark the base of a project. I found out I can
>> use GNU Global to do this, so hopefully I'll have a project based on
>> that soon too.
>>
>
>1. I've seen the manual of EDE before and i was wondering that if it is
>useful for testcase projects. When u need to write hundreds of test cases
>for a program, you may put every test case in a single directory, and the
>program's include files in another directory, just like this:
>
>testcases/
> -> case01
> -> case02
> -> ...
>includes/
>
>So i need to create hundreds ede-cpp-projects for every single test case,
>it's really a time-consuming work. I'm wondering if there's a ede project
>type for test-cases-like projects.
You have two options. You can create one EDE project each time, or
you can write an auto-detect project style yourself.
Writing such a custom EDE project is not hard, but it does require
some basic Emacs Lisp /EIEIO programming knowledge. A good starting
case is ede-emacs.el. This project style automatically detects a file
belonging to Emacs, and sets up a project for it. Your project will
probably be simpler, but the Emacs one shows how to do the key aspects
of handling custom auto-detected projects.
>2. Does semanticdb-project-roots conflict with the paths set in ede
>projects? If not, which has a higher priority?
Semantic first checks semanticdb-project-root-functions, in which EDE
installs a hook. Then it checks the base roots, so EDE will go first,
but other tools can insert project roots instead.
You could write such a custom fcn for your test cases instead of an
EDE project type.
>3. And, if EDE could automatically analyze Makefile under the same directory
>with current buffer and added include paths, it will be wonderful!
It could, if someone were to write such a project for EDE. It is
likely easier to create custom project styles on a per-case basis,
since the format of Makefiles can vary greatly.
Eric
--
Eric Ludlam: eric@...
Siege: http://www.siege-engine.com Emacs: http://cedet.sourceforge.net
|