forked from ocaml/merlin
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpackage.json
65 lines (65 loc) · 13.2 KB
/
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{
"name": "@esy-ocaml/merlin",
"version": "3.0.5",
"dependencies": {
"@esy-ocaml/substs": "^0.0.1",
"@esy-ocaml/esy-installer": "^0.0.0",
"@opam/ocamlfind": " >= 1.5.2",
"@opam/yojson": "*"
},
"peerDependencies": {
"ocaml": " >= 4.2.1 < 4.7.0"
},
"devDependencies": {
"ocaml": "~4.6.0"
},
"optDependencies": {},
"esy": {
"build": [
[
"./configure",
"--prefix",
"#{self.install}"
],
[
"rm",
"-rf",
"#{self.install / 'share' / 'ocamlmerlin'}"
],
[
"make",
"-j",
"4"
],
[
"esy-installer"
]
],
"exportedEnv": {
"merlin_version": {
"val": "3.0.5",
"scope": "global"
},
"merlin_installed": {
"val": "true",
"scope": "global"
},
"merlin_enable": {
"val": "enable",
"scope": "global"
}
},
"buildsInSource": true
},
"_esy_opam_patches": [],
"opam": {
"url": "https://github.com/ocaml/merlin/archive/v3.0.5.tar.gz",
"checksum": "279818ec1d1c984b3ece0f59381f4757",
"files": [],
"patches": [],
"version": "3.0.5"
},
"readmeFilename": "README.md",
"readme": "![merlin completion in vim](https://github.com/ocaml/merlin/wiki/vim_complete.png)\n\n[Merlin](https://ocaml.github.io/merlin/) is an editor service that provides modern IDE features for OCaml.\n\nEmacs and Vim support is provided out-of-the-box. External contributors added support for Visual Studio Code, Sublime Text and Atom.\n\nEasy installation with Opam\n===========================\n\nIf you have a working [Opam](https://opam.ocaml.org/) installation, Merlin is only two commands away:\n\n```shell\nopam install merlin\nopam user-setup install\n```\n\n[opam-user-setup](https://github.com/OCamlPro/opam-user-setup) takes care of configuring Emacs and Vim to make best use of your current install.\n\nYou can also [configure the editor](#editor-setup) yourself, if you prefer.\n\nManually building and installing Merlin\n=======================================\n\nCompilation\n-----------\n\nDependencies: ocaml >= 4.02.3, ocamlfind, yojson.\n\n```shell\n./configure\n make\n```\n\nThe configure script will check that all the dependencies are met, and will allow you to choose where to install Merlin.\n\nInstallation\n------------\n\nIf you haven't encountered any errors in the previous step, just run:\n\n $ make install \n\nInstallation directory is determined by the prefix selected by `configure`. It defaults to `/usr/local`.\n\nEditor setup\n============\n\nTo setup Emacs and Vim, you need to instruct them to run the appropriate script when an OCaml file is opened.\n\nIn the rest of the document, \\<SHARE\\_DIR\\> refers to the directory where Merlin data files are installed.\n\nIt will usually be: \n- \"/usr/local/share\" if you used manual configuration Merlin \n- \"\\<prefix\\>/share\" if you explicitly specified a prefix when configuring Merlin \n- printed by the command `opam config var share`, if you used opam\n\n### Vim setup\n\nMakes sure that ocamlmerlin binary can be found in PATH.\n\nThe only setup needed is to have the following directory in vim runtime path (append this to your .vimrc):\n\n :set rtp+=<SHARE_DIR>/merlin/vim\n\nThe default configuration can be seen in:\n\n <SHARE_DIR>/merlin/vim/plugin/merlin.vim\n\nAfter adding merlin to vim runtime path, you will probably want to run `:helptags <SHARE_DIR>/merlin/vim/doc` to register Merlin documentation inside vim.\n\nA more comprehensive documentation can be found on the [vim-from-scratch wiki](https://github.com/ocaml/merlin/wiki/vim-from-scratch).\n\n### Emacs setup\n\nMerlin comes with an emacs library (file: emacs/merlin.el) that implements a minor-mode that is supposed to be used on top of tuareg-mode.\n\nAll you need to do is add the following to your .emacs:\n\n```emacs\n(push \"<SHARE_DIR>/emacs/site-lisp\" load-path) ; directory containing merlin.el\n(setq merlin-command \"<BIN_DIR>/ocamlmerlin\") ; needed only if ocamlmerlin not already in your PATH\n(autoload 'merlin-mode \"merlin\" \"Merlin mode\" t)\n(add-hook 'tuareg-mode-hook 'merlin-mode)\n(add-hook 'caml-mode-hook 'merlin-mode)\n```\n\n`merlin-mode` will make use of `auto-complete-mode` (available by package.el and the MELPA repository) if it is installed.\n\nA more comprehensive documentation can be found on the [emacs-from-scratch wiki](https://github.com/ocaml/merlin/wiki/emacs-from-scratch).\n\n### Other editors\n\nThe wiki also contains pages for: \n- [Acme](https://github.com/ocaml/merlin/wiki/acme-from-scratch) \n- [Atom](https://github.com/ocaml/merlin/wiki/atom-from-scratch) \n- [Spacemacs](https://github.com/ocaml/merlin/wiki/spacemacs-from-scratch)\n\nExternal contributors have implemented modes for more editors: \n* [Visual Studio Code](https://github.com/hackwaly/vscode-ocaml) \n* [Sublime Text 3](https://github.com/cynddl/sublime-text-merlin) \n* [ocaml-merlin package for Atom](https://atom.io/packages/ocaml-merlin) \n* [nuclide for Atom](https://nuclide.io/) includes Merlin support\n\nNext steps\n==========\n\nTo use Merlin with a multi-file project, it is necessary to have a [.merlin](https://github.com/ocaml/merlin/wiki/project-configuration) file.\n\nRead more in the [wiki](https://github.com/ocaml/merlin/wiki) to learn how to make full use of Merlin in your projects.\n\nDevelopment of Merlin\n=====================\n \nMost of the development happens through the [github page](https://github.com/ocaml/merlin).\n\nThe [mailing list](https://lists.forge.ocamlcore.org/cgi-bin/listinfo/merlin-discuss) welcomes general questions and discussions.\n\nMerlin Labels\n-------------\n\n[Area/Emacs](https://github.com/ocaml/merlin/labels/Area%2FEmacs): Related to Emacs\n\n[Area/Vim](https://github.com/ocaml/merlin/labels/Area%2FVim): Related to Vim\n\n[Kind/Bug](https://github.com/ocaml/merlin/labels/Kind%2FBug): This issue describes a problem\n\n[Kind/Docs](https://github.com/ocaml/merlin/labels/Kind%2FDocs): This issue describes a documentation change\n\n[Kind/Feature-Request](https://github.com/ocaml/merlin/labels/Kind%2FFeature-request): Solving this issue requires implementing a new feature\n\n[Kind/To-discuss](https://github.com/ocaml/merlin/labels/Kind%2FTo-discuss): Discussion needed to converge on a solution; often aesthetic. See mailing list for discussion\n\n[Status/0-More-info-needed](https://github.com/ocaml/merlin/labels/Status%2F0-More-info-needed): More information is needed before this issue can be triaged\n\n[Status/0-Triage](https://github.com/ocaml/merlin/labels/Status%2F0-Triage): This issue needs triaging\n\n[Status/1-Acknowledged](https://github.com/ocaml/merlin/labels/Status%2F1-Acknowledged): This issue has been triaged and is being investigated\n\n[Status/2-Regression](https://github.com/ocaml/merlin/labels/Status%2F2-Regression): Known workaround to be applied and tested\n\n[Status/3-Fixed-need-test](https://github.com/ocaml/merlin/labels/Status%2F3-Fixed-need-test): This issue has been fixed and needs checking\n\n[Status/4-Fixed](https://github.com/ocaml/merlin/labels/Status%2F4-Fixed): This issue has been fixed!\n\n[Status/5-Awaiting-feedback](https://github.com/ocaml/merlin/labels/Status%2F5-Awaiting-feedback): This issue requires feedback on a previous fix\n\nYou can see current areas of development in our [Merlin Project Roadmaps](https://github.com/ocaml/merlin/projects) that we keep up to date.\n\nContributing to Merlin\n----------------------\n\nMerlin needs your help and contributions!\n\n### Reporting Issues\n\nWhen you encounter an issue, please report it with as much detail as possible. A thorough bug report is always appreciated :)\n\nCheck that our issue database doesn't already include that problem/suggestion. You can click \"subscribe\" on issues to follow their progress and updates.\n\nWhen reporting issues, please include: \n- steps to reproduce the problem, if possible with some code triggering the issue, \n- version of the tools you are using: operating system, editor, OCaml.\n\nTry to be as specific as possible: \n- avoid generic phrasing such as \"doesn't work\", explain why it is not working (editor is freezing, you got an error message, the answer is not what was expected, ...) \n- include the content of error messages.\n\nIf it seems relevant, also include information about your development environment: \n- the Opam version and switch in use, \n- other toolchains involved (OCaml flavors, cygwin, C compiler, shell, ...), \n- how the editor was setup.\n\n### Pull Requests\n\nFound a bug and know how to fix it? Or have a feature you can implement directly? We appreciate pull requests to improve Merlin, and any significant fix should start life as an issue first.\n\n### Documentation and wiki\n\nHelp is greatly appreciated, the wiki needs love.\n\nIf the wiki didn't cover a topic and you found out the answer, updating the page or pointing out the issue will be very useful for future users.\n\n### Discussing with other Merlin users and contributors\n\nTogether with commenting on issues with direct feedback and relevant information, we use the [mailing list](https://lists.forge.ocamlcore.org/cgi-bin/listinfo/merlin-discuss) to discuss ideas and current designs/implementations. User input helps us to converge on solutions, especially those for aesthetic and user-oriented topics.\n\nList of Contributors\n--------------------\n\nWe would like to thank all people who contributed to Merlin.\n\nMain collaborators:\n* [Frédéric Bour](https://github.com/let-def), main developer\n* [Thomas Refis](https://github.com/trefis), main developer\n* [Gemma Gordon](https://github.com/GemmaG), project manager\n* [Simon Castellan](https://github.com/asmanur), contributed the initial Emacs mode\n\nContributors:\n* [Andrew Noyes](https://github.com/atn34)\n* [Anil Madhavapeddy](https://github.com/avsm)\n* [Anton Bachin](https://github.com/aantron)\n* [Armaël Guéneau](https://github.com/Armael)\n* [Arthur Wendling](https://github.com/art-w)\n* [Benjamin San Souci](https://github.com/bsansouci)\n* [Bernhard Schommer](https://github.com/bschommer)\n* [Chris Konstad](https://github.com/chriskonstad)\n* [Christopher Reichert](https://github.com/creichert)\n* [Christophe Troestler](https://github.com/Chris00)\n* [David Allsopp](https://github.com/dra27)\n* [Fabian Hemmer](https://github.com/copy)\n* [Fourchaux](https://github.com/Fourchaux)\n* [Gabriel Scherer](https://github.com/gasche)\n* [Geoff Gole](https://github.com/gsg)\n* [Gerd Stolpmann](https://github.com/gerdstolpmann)\n* [Gregory Nisbet](https://github.com/gregory-nisbet)\n* [Jacob Bass](https://github.com/bassjacob)\n* [Jacques-Pascal Deplaix](https://github.com/jpdeplaix)\n* [Jah Rehders](https://github.com/sheijk)\n* [Jason Staten](https://github.com/statianzo)\n* [Jochen Bartl](https://github.com/verbosemode)\n* [Jordan Walke](https://github.com/jordwalke)\n* [Keigo Imai](https://github.com/keigoi)\n* [Leandro Ostera](https://github.com/ostera)\n* [Leo White](https://github.com/lpw25])\n* [Madroach](https://github.com/madroach)\n* [Malcolm Matalka](https://github.com/orbitz)\n* [Marc Weber](https://github.com/MarcWeber)\n* [Mario Rodas](https://github.com/marsam)\n* [Markus Mottl](https://github.com/mmottl)\n* [Nick Borden](https://github.com/hcwndbyw)\n* [Olivier Andrieu](https://github.com/oandrieu)\n* [Philipp Haselwarter](https://github.com/haselwarter)\n* [Pierre Chambart](https://github.com/chambart)\n* [Raman Varabets](https://github.com/cyberhuman)\n* [Raphaël Proust](https://github.com/raphael-proust)\n* [Ronan Le Hy](https://github.com/lehy-probayes) [(2)](https://github.com/lehy)\n* [Rudi Grinberg](https://github.com/rgrinberg)\n* [Steve Purcell](https://github.com/purcell)\n* [Syohei Yoshida](https://github.com/syohex)\n* [\"tddsg\"](https://github.com/tddsg)\n* [Tomasz Kołodziejski](https://github.com/neojski)\n* [Velichko Vsevolod](https://github.com/torkve)\n* [Vincent / Twinside](https://github.com/Twinside)\n* [Xavier Guérin](https://github.com/xguerin)\n* [Ximin Luo](https://github.com/infinity0)\n* [Yotam Barnoy](https://github.com/bluddy)\n\n### Sponsoring and donations\n\nWe would like to thank [Jane Street](https://www.janestreet.com) for sponsoring and [OCaml Labs](https://github.com/ocamllabs) for providing support and management.\n\nAnd many thanks to our [Bountysource](https://www.bountysource.com/teams/the-lambda-church/backers) backers.\n\n### Other acknowledgements\n\nDistribution and configuration:\n* [Louis Gesbert](https://github.com/AltGr), [opam-user-setup](https://github.com/OCamlPro/opam-user-setup), out-of-the-box setup for Vim and Emacs\n* [Edgar Aroutinian](https://github.com/fxfactorial), [ocaml-starterkit](https://github.com/fxfactorial/ocaml-starterkit), collection of tools for beginners in OCaml\n\nSupport for other editors:\n* [Hackwaly](https://github.com/hackwaly), [Visual Studio Code](https://github.com/hackwaly/vscode-ocaml)\n* [Luc Rocher](https://github.com/cynddl), [Sublime Text 3](https://github.com/cynddl/sublime-text-merlin)\n* [Pieter Goetschalckx](https://github.com/314eter), [ocaml-merlin package for Atom](https://atom.io/packages/ocaml-merlin)\n* various contributors, [nuclide package for Atom](https://nuclide.io/)\n",
"description": "Makes sure that ocamlmerlin binary can be found in PATH."
}