Giter Site home page Giter Site logo

eproject's People

Contributors

dcrewi avatar dgutov avatar doitian avatar dudebout avatar eblanton avatar emk avatar escherdragon avatar griffinschneider avatar jleverenz avatar jrockway avatar jtatarik avatar luckyrandom avatar mkurkov avatar rafl avatar syl20bnr avatar thomasf avatar tkf avatar tungd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eproject's Issues

use ido when it's possiable to enhance files navagite

When I press C c C f, project file can not navigate with keys, this is especially not convenience when I type part of the filename due to the first appear one may not we want, then we should type the full filename until there is only one match.

Error on eproject-grep

When I execute eproject-grep I get:

Symbol's function definition is void: combine-and-quote-strings

i have problem in installing eproject ( Emacs 23.0.92.1 )

I run command " emacs --debug-init" ,and emacs reported as follows:

Debugger entered--Lisp error: (error "Required feature `esh-groups' was not provided")
require(esh-groups)
eval-buffer(#<buffer load<5>> nil "d:/work/emacs/lisp/eshell/esh-module.el" nil t) ; Reading at buffer position 1390
load-with-code-conversion("d:/work/emacs/lisp/eshell/esh-module.el" "d:/work/emacs/lisp/eshell/esh-module.el" nil t)
require(esh-module)
eval-buffer(#<buffer load<4>> nil "d:/work/emacs/lisp/eshell/esh-mode.el" nil t) ; Reading at buffer position 2610
load-with-code-conversion("d:/work/emacs/lisp/eshell/esh-mode.el" "d:/work/emacs/lisp/eshell/esh-mode.el" nil t)
require(esh-mode)
eval-buffer(#<buffer load<3>> nil "d:/work/emacs/lisp/eshell/eshell.el" nil t) ; Reading at buffer position 9267
load-with-code-conversion("d:/work/emacs/lisp/eshell/eshell.el" "d:/work/emacs/lisp/eshell/eshell.el" nil t)
require(eshell)
eval-buffer(#<buffer load<2>> nil "d:/work/emacs/myplugins/eproject/eproject.el" nil t) ; Reading at buffer position 7542
load-with-code-conversion("d:/work/emacs/myplugins/eproject/eproject.el" "d:/work/emacs/myplugins/eproject/eproject.el" nil t)
require(eproject)
eval-buffer(#<buffer load> nil "d:/work/emacs/.emacs" nil t) ; Reading at buffer position 1181
load-with-code-conversion("d:/work/emacs/.emacs" "d:/work/emacs/.emacs" t t)
load("~/.emacs" t t)
#[nil "�

IDO issue

I'm trying to use eproject with it set to use ido-completing-read. It appears that it eventually winds up trying to string-match on some sort of buffer reference(I know next to nothing about lisp). Any ideas. I've pasted the last couple of lines of the backtrace.

(wrong-type-argument stringp #)
string-match("" #) ...some junk here
ido-set-matches-1((# #) t)

Order of Project Definitions Shouldn't Matter

eproject doesn't seem designed to handle project-containing directories as subdirectories of parent directories that could also contain projects. My home directory has a git repository which I use for tracking things like my .emacs. Because generic-git is one of the first project types defined, projects further down in my home directory using non-git repositories cannot be found. The solution to this (or at least a solution to this, mine may be suboptimal for certain situations), I think, is to choose the project type that gives the project closest to the source file, i.e. traversing up the directory tree the fewest times. If you agree with me, you can find my patch (against commit 80efa3a) at http://quark.kiewit.dartmouth.edu/~james/eproject_diff (why doesn't github allow attaching files to issues as Trac does?)

cheers,
James

Simple way to require extras

We need a simple way to require extras. Probably eproject/extras should be added to load-path when eproject-extras required?

Please update FSF address in eproject.el

Currently address is:
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
MA 02110-1301, USA.

helm-eproject.el has the correct address, but eproject.el has:
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA.

w32 support?

Some people have sent me patches to make everything work on Windows. I fixed the code, but I haven't heard back, so I'm opening this ticket to prevent me from forgetting.

If Windows doesn't work, please add a note here.

helm-eproject broken

The helm-eproject command fails with :

Debugger entered--Lisp error: (error "Candidates must either be a function, a variable or a list: (lambda nil (with-current-buffer helm-eproject-last-buffer (helm-eproject-get-files)))")

helm is moving quicly these days, if you don't need a fullblown source, you can

(setq eproject-completing-read-function 'helm-completing-read-default)

Introduce project facets (parallel project types)

This is a feature suggestion.

Currently eproject does hierarchical inheritence of project types with the exception that it does not allow to extend an project-type property but only replace it.

It would be great if multiple project types could be used at once.

An simple example would be an Django application which depends on coffee-script probably could benifit from being both project types at once.
At the moment I am merging most of my "web"-framework project types by hand and would probably use more project types and things like the recently added tasks if it were easier to mix and match.

Draft of simple functional requirements:

  • Support for facets/parallel project types, possibly if they are identified at the same directory level.
  • A project definition can be a main project type, project facet or both.
  • There should be some control mechanism for which project facets an main project type can use.
  • Easy toggling of facets/project types, possibly using the minibuffer/ido or similar.
  • (maybe) a possibility to define which project facets that cannot be used at the same time.

Problem with non-file buffers

There is a bug in eproject--selector. It assumes that every buffer where 'eproject-maybe-turn-on' is invoked, must be a file. I am using SLIME (emacs mode for common lisp programming). I have defined a "common-lisp project" like this:

(define-project-type common-lisp (generic) (look-for "*.asd" :glob)
:relevant-files '(".lisp$" ".lsp$" ".asd$"))
(add-hook 'lisp-mode-hook 'eproject-maybe-turn-on)

Slime creates non-file buffers that are still 'lisp mode', such as SLIME Macroexpansion. Eproject prevents interactive macroexpansion because of the error raised when it finds the new buffer is not a file.

I think it should just do nothing silently when it tries to 'turn on' and finds the buffer is not a file.

contrib/helm-eproject: Needs Copyright header.

By examining the git history I found that Glauber Alex Dias Prado and Thomas Frössmam both committed more than 15 lines of changes to this file in 2012. If they didn't attribute copyright to you, please add a copyright header with their information. If they did attribute it to you, please make this explicit by adding yourself to the file's copyright header. It's ambiguous right now.

Hang when selecting files outside eproject directory

I get a hang when I try and open files outside any existing eproject definitions. Typically this usually manifests when opening stuff via tramp but can be on local NFS systems. I can break out of the hang with Ctrl-G and the buffer is loaded but without any font locking on.

Using edebug I got to the this backtrace:

run-hooks(after-change-major-mode-hook)
run-mode-hooks(text-mode-hook)
text-mode()
normal-mode(t)
after-find-file(nil t)
find-file-noselect-1(#<buffer rnotes.tex<####>> "/eng/ajb/####/#####/doc/rnotes.tex" nil nil "/eng/ajb/#####/####/doc/rnotes.tex" (48634650 25))
find-file-noselect("/eng/ajb/########/#####/doc/rnotes.tex" nil nil nil)
find-file("/eng/ajb/######/#####/doc/rnotes.tex")
my-test()

Looking at after-change-major-mode-hook

(eproject--after-change-major-mode-hook global-font-lock-mode-enable-in-buffers)

I concluded eproject has gone off on a wild one somewhere. I see the maybe-turn-on logic has been refactored. Should I be tracking the virtual projects branch now?

Setting eproject precedent

Hi,

I use several project structures that might overlap. For example: one project might have a build.xml file somewhere while another project might have a build.xml and another file, let's say project.xml. if project.xml file exist, I would like the project type to be "customproj", and if only build.xml is defined, I would like the project type to be "java". Is there anyway to define the order in which eproject tries to evaluate which project type I am in?

If I could do that, I could place customproj ahead of java, and so it would match first.

Thank you,

Why add hook to after-change-major-mode-hook

Hi!

I was wondering if there's a particular reason to add the hook to after-change-major-mode-hook? Right now this has the effect that whenever I open a project source-file, my -project-file-visit-hook gets run 3 times. Once for find-file-hook and twice for the after-change-major-mode-hook.

I think it seems enough to just keep the find-file-hook. Am I missing something?

Please provide LICENSE or COPYRIGHT file

Dear eproject maintainer,

Thank you for maintaining this package. I would like to package eproject for Debian, but the absence of a LICENSE or COPYRIGHT file blocks inclusion into the archive.

Cheers,
Nicholas

eproject-maybe-turn-on gets run 3 times every time file is opened

eproject-maybe-turn-on and thus also -project-file-visit-hook gets run 3 times every time a file in a project is opened or a buffer in a project is reverted.

  • Once due to after-change-major-mode-hook being run when changing to fundamental-mode
  • Once due to after-change-major-mode-hook being run when changing to whatever major-mode is appropriate for the buffer (erlang-mode in my case)
  • Once due to the file-visit-hook.

It's may be a little difficult to get away from the change-major-mode duplicate call since the convention is to kill all local variables as part of the major-mode setup, but since after-change-minor-mode-hook will be run on file-visit/buffer-revert anyway, maybe you could just remove the file-visit-hook?

Default values from config

Hi!

I'm looking a little bit at integrating eproject with my package of Erlang development tools (https://github.com/tjarvstrand/edts). It looks great so far, but I was wondering if there is any way of having project attributes that take their values from the project-file if they are given there, but otherwise take their values from other things that are present.

The way my current (very makeshift) project variable depend on each other work is:
name - default to the last componen of the project's root
node-sname - default to the same name as the project

Would there be any way to accomplish this?

eproject does not play well with desktop

The way the eproject minor mode is defined causes a problem with Emacs' desktop library.

When reloading a saved desktop, 'desktop-create-buffer' is called for each buffer that is to be recreated. Desktop remembers the name of each active minor mode from when the desktop was saved, and if that name is fbound, desktop-create-buffer calls that function in order to activate the minor mode for the buffer.

Unfortunately 'eproject-mode' is defined to raise an error when called in a new buffer (where eproject-root is null). This error brings desktop loading to a crashing halt.

Is there a good reason that eproject-mode cannot just call eproject-maybe-turn-on itself, when eproject-root is null?

EDIT: looking into it further, you should be able to fix this easily by adding eproject-mode to the variable 'desktop-minor-mode-table'.

Set default project

I would like to be able to set a default project for eproject to use. I tried implementing some advice for eproject-find-file, and override the macro eproject--do-in-buffer, but my elisp skills are not up to snuff. Is there an easy way to do this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.