{"id":13646742,"url":"https://github.com/senny/emacs-eclim","last_synced_at":"2025-04-05T18:04:59.265Z","repository":{"id":607528,"uuid":"244570","full_name":"senny/emacs-eclim","owner":"senny","description":"This project brings some of the great eclipse features to emacs developers. It is based on the eclim project, which provides eclipse features for vim.","archived":false,"fork":false,"pushed_at":"2018-04-11T19:19:22.000Z","size":781,"stargazers_count":586,"open_issues_count":44,"forks_count":102,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-03-29T17:13:58.514Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.emacswiki.org/emacs/EmacsEclim","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/senny.png","metadata":{"files":{"readme":"README.md","changelog":"History.txt","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-07-06T19:33:48.000Z","updated_at":"2025-01-04T10:39:48.000Z","dependencies_parsed_at":"2022-08-16T10:31:14.687Z","dependency_job_id":null,"html_url":"https://github.com/senny/emacs-eclim","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/senny%2Femacs-eclim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/senny%2Femacs-eclim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/senny%2Femacs-eclim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/senny%2Femacs-eclim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/senny","download_url":"https://codeload.github.com/senny/emacs-eclim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378135,"owners_count":20929296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T01:03:04.650Z","updated_at":"2025-04-05T18:04:59.217Z","avatar_url":"https://github.com/senny.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"[![License GPL 3][badge-license]](http://www.gnu.org/licenses/gpl-3.0.txt)\n[![Build Status](https://travis-ci.org/senny/emacs-eclim.svg?branch=master)](https://travis-ci.org/senny/emacs-eclim)\n[![MELPA](http://melpa.org/packages/emacs-eclim-badge.svg)](http://melpa.org/#/emacs-eclim)\n[![MELPA Stable](http://stable.melpa.org/packages/emacs-eclim-badge.svg)](http://stable.melpa.org/#/emacs-eclim)\n\n## Development has moved to https://github.com/emacs-eclim/emacs-eclim !!!\n\n## Overview\n\n[![Join the chat at https://gitter.im/senny/emacs-eclim](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/senny/emacs-eclim?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n**Please Note: Development has moved to https://github.com/emacs-eclim/emacs-eclim**\n\n[Eclim](http://eclim.org) is an Eclipse plugin which exposes Eclipse\nfeatures through a server interface.  When this server is started, the\ncommand line utility eclim can be used to issue requests to that\nserver.\n\nEmacs-eclim uses the eclim server to integrate eclipse with\nemacs. This project wants to bring some of the invaluable features\nfrom eclipse to emacs. Please note, emacs-eclim **is limited to mostly java support at this time.**\n\nIt is also possible to start and stop the eclim daemon from emacs using the\n`eclimd` package.\n\nYou can ask questions or discuss new features at our [Google Group](https://groups.google.com/forum/#!forum/emacs-eclim)\n\n## A note about Eclim versions\n\nPrior to version 1.7.3, eclim used a proprietary protocol for\ncommunication with the eclim server. If you are running one of these\nolder versions, you need version 0.1 of emacs-eclim.\n\nEclim versions 1.7.3 and later however, serves responses using a\nstandard JSON format. These are supported by emacs-eclim versions 0.2\nand later.\n\nEmacs-eclim versions are tagged with the appropriate version\nnumber. You can see and download previous releases\n[here](https://github.com/senny/emacs-eclim/tags).\n\n## Installation\n\n1. [Download and install](http://eclim.org/install.html) eclim.\n1. Install emacs-eclim. You have two options:\n   * Installation from the [MELPA][melpa] package archive. Just add\n   the archive to `package-archives` if you haven't already, and then\n   install emacs-eclim with the `package-install` command.\n   * Manual installation from GitHub.\n       1. (`git clone git://github.com/senny/emacs-eclim.git`)\n       1. Add `(add-to-list 'load-path \"/path/to/emacs-eclim/\")` to your startup script.\n1. Add the following code to your emacs startup script\n\n```lisp\n(require 'eclim)\n(global-eclim-mode)\n```\n\nIf you want to control eclimd from emacs, also add:\n\n```lisp\n(require 'eclimd)\n```\n\n\n## Configuration\n\n### Eclipse installation\n\nEmacs-eclim tries its best to locate your Eclipse installation.  If\nyou have Eclipse installed in a non-standard location\n(i.e. ~/nonStandard/eclipse or /opt/eclipse) you may specify the paths manually by adding this to your startup script:\n\n```lisp\n(custom-set-variables\n  '(eclim-eclipse-dirs '(\"~/nonStandard/eclipse\"))\n  '(eclim-executable \"~/nonStandard/eclipse/eclim\"))\n```\n\n### Displaying compilation error messages in the echo area\n\nWhen the cursor is positioned on an error marker in a code buffer,\nemacs-eclim uses the local help feature in emacs to display the\ncorresponding error message in the echo area. You can either invoke\n`(display-local-help)` manually or activate automatic display of local\nhelp by adding the following to .emacs:\n\n```lisp\n(setq help-at-pt-display-when-idle t)\n(setq help-at-pt-timer-delay 0.1)\n(help-at-pt-set-timer)\n```\n\n### Configuring auto-complete-mode\n\nIf you wish to use [auto-complete-mode] with emacs-eclim, add the\nfollowing to your .emacs:\n\n```lisp\n;; regular auto-complete initialization\n(require 'auto-complete-config)\n(ac-config-default)\n\n;; add the emacs-eclim source\n(require 'ac-emacs-eclim-source)\n(ac-emacs-eclim-config)\n```\n\n### Configuring company-mode\n\nEmacs-eclim can integrate with [company-mode] to provide pop-up\ndialogs for auto-completion. To activate this, you need to add the\nfollowing to your .emacs:\n\n```lisp\n(require 'company)\n(require 'company-emacs-eclim)\n(company-emacs-eclim-setup)\n(global-company-mode t)\n```\n\nEmacs-eclim completions in company are case sensitive by default. To make completions\ncase insensitive set `company-emacs-eclim-ignore-case` to `t`.\n\n### Configuring eclimd module\n\nWhen `emacs-eclim` is configured correctly, you don't need to modify the\nconfiguration for the `eclimd` package. Still, there are some configurable\nvariables you can tweak:\n\n1. `eclimd-executable`: This variable is used for locating the `eclimd`\n   executable file. You can set it to `nil` (\"Same directory as eclim-executable\n   variable\" choice in customization screen) to indicate that the executable is in\n   the same directory as the `eclim` program. Alternatively, you can give it a\n   string value (\"Custom value\" choice in customization screen) to specify the\n   location of the executable.\n\n1. `eclimd-default-workspace`: When `start-eclimd` is executed, it will ask for\n   the workspace directory to use. The default value for this question is\n   controlled by this variable.\n\n1. `eclimd-wait-for-process`: Normally, when `start-eclimd` starts the eclimd\n   process, it pauses emacs until `eclimd` is ready to accept commands. If you\n   change the value of this variable to `nil`, `start-eclimd` will return as\n   soon as `eclimd` is started. Eclimd startup takes several seconds, so if you\n   change the default value of this variable, `emacs-eclim` commands will fail\n   until `eclimd` is ready.\n\n## Dependencies\n* [dash.el](https://github.com/magnars/dash.el) for list manipulation functions\n* [s.el](https://github.com/magnars/s.el) for string manipulation functions\n* json.el (part of emacs as of version 23)\n* [popup.el](https://github.com/auto-complete/popup-el) for inplace popup menus\n\n## Optional dependencies\n* A recent version (0.6.0 or later) of [yasnippet]\n* A recent version (tested with 0.5) of [company-mode]\n* A recent version (tested with 1.4) version of [auto-complete-mode]\n* ido-mode (part of emacs as of version 22)\n\n## Usage\nTo get started just launch the eclim executable that the placed in\nyour Eclipse installation directory.\n\n* [Projects](http://wiki.github.com/senny/emacs-eclim/projects)\n* [Code Completion](http://wiki.github.com/senny/emacs-eclim/code-completion)\n* [Java](http://wiki.github.com/senny/emacs-eclim/java)\n* [Ant](http://wiki.github.com/senny/emacs-eclim/ant)\n* [Maven](http://wiki.github.com/senny/emacs-eclim/maven)\n* [Problems and Errors](http://wiki.github.com/senny/emacs-eclim/problems-and-errors)\n\n### Controlling eclimd\n\nWhen you import the `eclimd` package, you will have access to two commands:\n`start-eclimd`, and `stop-eclimd`.\n\n`start-eclimd` will ask for a workspace directory, and it will attempt to start\n`eclimd` program with the entered workspace directory. The configurable variable\n`eclimd-default-workspace` controls the default value of this directory. After\n`start-eclimd` runs the daemon, it will monitor its log output, and wait for the\nmessage that indicates that it is ready to accept commands. This is done to\nprevent failures with `emacs-eclim` commands while `eclimd` is starting up.\nWhile `start-eclimd` is waiting for the daemon to be ready, emacs will not\naccept any user input. To prevent this pause, you can modify the configurable\nvariable `eclimd-wait-for-process`.\n\nNormally, simply killing the buffer `*eclimd*` will allow you to stop the eclimd\ndaemon. However, there is a command to perform a graceful shutdown:\n`stop-eclimd`. You should use this command when you wish to stop the `eclimd`\nprogram.\n\n## Press\n\nRead more about emacs-eclim:\n\n* [Enterprise Java Development in Emacs](http://www.skybert.net/emacs/java/), \\[Torstein Krause Johansen\\]\n* [The Ballad of Emacs-Eclim](http://mulli.nu/2012/02/02/the-ballad-of-emacs-eclim.html), \\[Fredrik Appelberg\\]\n* [Emacs and Java](http://blog.senny.ch/blog/2012/10/13/emacs-and-java-journey-of-a-hard-friendship/), \\[Yves Senn\\]\n* [Java Autocompletion for Emacs](http://root42.blogspot.ch/2012/08/java-autocompletion-for-emacs.html), \\[root42\\]\n* [Eclim: Eclipse Meets Vim And Emacs](http://faruk.akgul.org/blog/eclim-eclipse-meets-vim-emacs/), \\[Faruk Akgul\\]\n\n## Contributing\n\nHave a quick look at our [Contribution Guidelines](CONTRIBUTING.md)\nand hack away.\n\n[yasnippet]:https://github.com/capitaomorte/yasnippet\n[company-mode]:https://github.com/company-mode/company-mode\n[auto-complete-mode]:https://github.com/auto-complete/auto-complete\n[melpa]:http://melpa.milkbox.net/\n[repo]:https://github.com/senny/emacs-eclim\n\n[badge-license]: https://img.shields.io/badge/license-GPL_3-green.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsenny%2Femacs-eclim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsenny%2Femacs-eclim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsenny%2Femacs-eclim/lists"}