atilaneves / flycheck-dmd-dub

flycheck and DCD dub support to enable D IDE features in Emacs
14 stars 6 forks source link

can't seem to get this to work #8

Open liefswanson opened 9 years ago

liefswanson commented 9 years ago

I added the recommended line to my init.el, but when I open my app.d in emacs, flycheck still does not recognize the includes from inside my package directory. Is there anything additional I should be doing here? My dub project hierarchy is the same as the default made by dub init.

package_name/dub.json package_name/source/app.d package_name/source/package_name/{all the files I am including}

emacs version: 24.4.1 flycheck-dmd-dub version: 20140814.1259 (melpa) flycheck version: 20150125.601 (melpa)

atilaneves commented 9 years ago

Can you point me to your dub project (if it's public and online) or give me the contents of the .json and .d files that reproduce your issue please?

liefswanson commented 9 years ago
{
    "name": "foo.app",
    "description": "A minimal D application.",
    "copyright": "Copyright © 2015, lief Swanson",
    "authors": ["lief Swanson"],
    "dependencies": {
    }
}

basically just an empty project made by dub init.

I am fairly new to using dub and d though, should i set the path manually in here? I am just relying on dub defaults in this project.

atilaneves commented 9 years ago

D packages are directories, so that a file in foo/bar/baz.d would be included with import foo.bar.baz;, like in Python. You named your package foo.app, which has a dot in it. I expect problems with that. In any case, with your example the variable flycheck-dmd-include-path correctly adds your source directory to the list of imports.

liefswanson commented 9 years ago

that is strange, hmm I am going to look for possible conflicts with other packages, because it definitely is not including them into fiycheck, but it does compile just fine, and if i do as you describe it fixes the flycheck error, but it does not compile, saying that with the way my package is set up it needs to be included without the top level part of the package path. Moreover, i can't even seem to find flycheck-dmd-dub-set-include-path in my list of possible completions when using the minibuffer.