تب نزدن خودکار emacs برای clojure ؟

سلام
من clojure رو از روی کتاب clojure for the brave and true شروع کردم به یادگیری
توی یه بخش همون اولا یکمی emacs یاد میده و یه لینک برای دانلود کانفیگ emacs که مناسب کار با clojure بشه
ولی متاسفانه به صورت خودکار tab نمیزنه
مثلا بعد تعریف function و enter زدن

منم الآن تست کردم. indent نمیزنه.
یادم نمیاد قبلا درست بود یا نه. (منظورم اینه که شاید پکیجهای emacs آپدیت بخواد)

1 Like

همه رو آپدیت کردم
کانفیگی که هم دانلود کردم اینه:

نمیدونم. باید صبر کنیم مسئول emacs بیاد :sweat_smile: (@lxsameer)
برای vim اگه کمک بخوای در خدمتم (پلاگین fireplace و rainbow_parentheses و فکر کنم instant-markdown هم مفید باشه. مطمئن نیستم)

1 Like

راستی! شاید fg42 به دردتون بخوره.

1 Like

سلام. باید از کتابخونه parinfer واسه ایمکس استفاده کنین. اینجوری بنا به جایی که اینتر می زننین ایندنت می زنه

1 Like

در کل این که من از config ای که کتاب clojure for brave and true گذاشته دارم استفاده میکنم به نظرتون کار درستی هست؟
مورد بعدی این که چه جوری باید یه directory رو با emacs باز کنم به عنوان directory پروژه؟

هممم با این اوصاف پیشنهاد می کنم از یه باندل آماده ایمکس استفاده کنین. تنظیمات زیاده. اگر خواستین همون FG42 رو استفاده کنین من می تونم خیلی کمک کنم یا اگر چیزی نیاز داشتی اضافه کنم.

1 Like

سلام
fg42 رو نصب کردم
همون جایی که make install زدم با

./fg42

اجراش کردم
نمیشه بیارمش تو لیست برنام هام؟؟
و این که بعد اجرا شروع کرد به یه سری دانلود و compile اما بر اساس تم dracula داره تنظیمات قبلی emacs رو میخونه

خوب درست دراه پیش می ره. ازت پسوردت رو می پرسه برای نصب. بعدش نصب می کنه خودش رو به صورت global یه فایل desktop هم می سازه که همون رو می تونه به لیست برنامه ها اضافه کنی
تو این آدرس می تونی پیداش کنی:

/usr/share/fg42/
1 Like

فایل config قبلی رو میخونه
mode های قبلی هم load میشه

(Clojure , Paredit Projectile[-])

منظور از قبلی واسه ایمکس خودت هست ؟

1 Like

آره
از آدرس

~/.emacs.d/init.el

داره config رو میخونه

فایل fg42 رو باز کن و به خط ۴ یا همون جایی که emacs رو صدا می زنه پارامتر q- رو اضافه کن و امنتحان کن باید درست شه

1 Like

الان این فایل fg42 هست که تغییرش دادم

#! /bin/sh
export FG42_HOME=/home/mohammad/.fg42
emacs --name FG42 --no-site-file --no-site-lisp --no-splash --title FG42 -l -q $FG42_HOME/fg42-config.el "[email protected]"

اینم بافر Messages هست

Loading /home/mohammad/.emacs.d/customizations/shell-integration.el (source)...done
Loading /home/mohammad/.emacs.d/customizations/navigation.el (source)...
Loading /home/mohammad/.emacs.d/.recentf...done
Cleaning up the recentf list...done (0 removed)
Loading /home/mohammad/.emacs.d/customizations/navigation.el (source)...done
Loading /home/mohammad/.emacs.d/customizations/ui.el (source)...done
Loading /home/mohammad/.emacs.d/customizations/editing.el (source)...done
Loading /home/mohammad/.emacs.d/customizations/misc.el (source)...done
Loading /home/mohammad/.emacs.d/customizations/elisp-editing.el (source)...done
Loading /home/mohammad/.emacs.d/customizations/setup-clojure.el (source)...done
Loading /home/mohammad/.emacs.d/customizations/setup-js.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
command-line-1: Cannot open load file: No such file or directory, -q

هنوز مثل قبله
بعد از اضافه کردن -q ارور خط آخر رو میده

command-line-1: Cannot open load file: No such file or directory, -q

q- رو باید همون بعد از emacs مستقیم بیارین

emacs -q --name FG42 --no-site-file --no-site-lisp --no-splash --title FG42 -l  $FG42_HOME/fg42-config.el "[email protected]"
1 Like

ببخشید :smile:
الآن دیگه کانفیگ قبلی رو نمیاره
فقط یه بحثی که هست هر دفعه بازش میکنم اولش میزنه

connecting host: melpa.org:80

و دانلود و کامپایل میکنه

بخاطر اینه که پکیج ها رو کامل دانلود نکرده. همه رو که دانلود کنه اوکی میشه و دیگه دانلود نمی کنه

1 Like

آره الآن درست شد
مرحله بعدی چیه؟ داکیومنت هارو شروع کنم بخونم؟
موقعی که یه فایل clojure رو باز کردم در مورد اینکه کدوم directory پوشه پروژه هست پرسید و من یه پوشه بهش دادم ولی دقیقا نمیفهمم چه فایده ای داره حالا که directory پروژه رو بهش دادم؟

:sweat_smile::sweat_smile::sweat_smile: داکیومنت خاصی فعلا نداره . خیلی چیزاش با ایمکس یکیه .

اونی که ازت مسیر رو پرسیده یه قابلیت بتا هست که دارم اضافه می کنم فعلا استفاده نکنین. برای غیر فعال کردنش فایل fg42.el./~‍ رو باز کنین (‌ همه تنظیمات اینجاست ) بعد اون دستور disable رو به این شکل در بیارید:

(disable 'rbenv 'helm 'spell 'linum 'smart-mode-line 'dired+ 'guru 'emoji 'github 'jedi 'tabbar 'lsp 'elpy)

ذخیره کنین و دوباره امتحان کنین. در واقع فقط lsp’ رو به لیست اضافه کردید که باعث غیر فعال شدن اون قابلیت می شه.

در مورد پروژه هم وقتی یه فایل پروژه ای رو باز می کنین از روی یه سری چیزا روت پروژه رو حدس می زنه. یکیش وجود ریپو git هست.

اگر از tree view استفاده می کنین. با زدن کلید F8 می تونین tree view رو ببینین برا دایرکتوری جاری و با دستور neotree-refresh هم می تونین اپدیتش کنین

وقتی هم توی قسمت treeview هستین با کلید q بسته می شه

1 Like