xcwen / ac-php

emacs auto-complete & company-mode for php

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build tags folder inside project folder

aitte2 opened this issue · comments

Hi @xcwen, thanks for your really perfect project! It's helping me so much!

I just wonder... I really don't like ~/.ac-php/tags-Volumes-Secret-Etc/...

Can you please make a option like this?

{
    "tag-folder": "./ac-tags",
    "use-cscope": null,
    "filter": {
        "php-file-ext-list": [
            "php"
        ],
        "php-path-list": [
            "./src"
        ],
        "php-path-list-without-subdir": []
    }
}

Then, it does:

  • If tag-folder null: Use ~/.ac-php/...
  • If tag-folder not null: Store in project folder in folder named (relative to .ac-php-conf.json)!

Like this example above would use:

/home/foo/project/.ac-php-conf.json
/home/foo/project/ac-tags/

That way no ~/.ac-php ! Please seriously think about this so we can have private tags inside project folder not in home folder, like all other tagging system (gtags, ctags etc all put it in project folder). :) 👍 Thanks for a great project.

commented

(defvar ac-php-tags-path (concat (getenv "HOME") "/.ac-php")
"PATH for ctags to be saved, default value is "~/.ac-php" as base for
directories.

This path get extended with the directory tree of the project that you are
indexing the tags for.")

@xcwen Ok so an option can be coded based on that var, it seems perfect to add it as an option to JSON:

  • Standard behavior:
    "tags-path": null, (default) = Use (concat (getenv "home") "ac-php") plus extend with path of project. Like this:
/home/foo/.ac-php/home-foo-secrets-secretproject/...
  • Custom location via JSON value:
    "tags-path": "./ac-tags", = Tags are stored in ”ac-tags” subfolder under the location of .ac-php-conf.json Like this:
/home/foo/secrets/secretproject/.ac-php-conf.json
/home/foo/secrets/secretproject/ac-tags/

Why this? Because it lets every project to store tags inside their own project folder. Instead of anywhere else on the system. :)

It makes more privacy and easier to move project.

Please think about it. :)

commented
{
  "use-cscope": null,
  "tag-dir": "./ac-php-tags",
  "filter": {
    "php-file-ext-list": [
      "php"
    ],
    "php-path-list": [
      "."
    ],
    "php-path-list-without-subdir": []
  }
}

use tag-dir

@xcwen Thank you!! You are awesome!! i will try it when I wake up and let you know :)

@xcwen Hi, I have tested now and it works perfectly in every test. Thanks so much :) Now all tags are in my project-dir :) <3