বিশ্বাস .ডির-লোকাল.এল


12

আমি আমার init.elফাইলের বাইরে কিছু কনফিগার রাখতে চাই .dir-locals.el, যেমন:

((nil
  (let ((dirs '(".cask" "core" "packages" "modules" "snippets" "themes")))
   (mapc #'(lambda (path) (add-to-list 'projectile-globally-ignored-directories path)) dirs))))

তবে প্রতিবার আমি আমার .emacs.dফোল্ডারে যে কোনও ফাইল খোলার চেষ্টা করছি , ইমাস আমাকে জিজ্ঞাসা করছে যে এই কোডটি প্রয়োগ করা নিরাপদ কিনা। আমি স্থানীয় স্থানীয় ফাইলগুলি সেট করে এটি নীরব করার চেষ্টা করেছি:

;; -*- enable-local-variables: t; enable-local-eval: t -*-

এবং এটি কোনও উপকারে আসে নি, বিপরীতে এই স্থানীয় সেটিংসকে বিশ্বাস করার জন্য আরও একটি বার্তা যুক্ত করেছে। আমি কীভাবে এটি আমার কোডকে বিশ্বাস করতে পারি .dir-locals.el?


আপনি নামের একটি ভেরিয়েবল বেঁধে let
রেখেছেন

উত্তর:


8

আপনি safe-local-variable-valuesআপনার init ফাইলটি কাস্টমাইজ করতে পারেন । এর জন্য আপনাকে কোন মানগুলি নিরাপদ বলে বিবেচনা করবে তাও নির্দিষ্ট করতে হবে।

(add-to-list 'safe-local-variable-values '(var . value))

আপনার প্রশ্নটি বোঝায় যে আপনি সম্ভাব্য মানগুলির সেটটি জানেন তবে এটি ঠিক।

যদি আপনি কোনও মানচিত্রকে সন্তুষ্ট করে এমন সমস্ত মানগুলির জন্য একটি পরিবর্তনশীল নিরাপদ করতে চান তবে আপনি এটি করতে পারেন:

(put 'var 'safe-local-variable #'stringp) 

এই পদ্ধতির জন্য আপনাকে ধন্যবাদ, তবে আমি যেমন লিখেছি আমি এই কনফিগারেশনটি রাখতে চাই.dir-locals.el
4lex1v

আপনি এখনও একটি .dir-local.el এ অনুমানের সেটিংটি কনফিগার করতে পারেন। তবে আপনি এই ফাইলটি লোড করার পরে সতর্কতা অব্যাহত রাখবেন, যতক্ষণ না আপনি এই পদক্ষেপের একটি গ্রহণ করেন। আপনি কি দ্বিতীয় চেষ্টা করেছেন? আপনার কোড ফাইলটিতে, প্রজেক্টাইল-গ্লোবাল-উপেক্ষা-ডিরেক্টরিগুলির সাথে 'ভের পরিবর্তে' কোডটি .dir-local.el লোড হওয়ার পরে সতর্কতাগুলি রোধ করা উচিত।
InHarmsWay

যদিও এটি সম্পর্কে চিন্তাভাবনা করা হচ্ছে, আপনার প্রয়োজন হতে পারে # স্ট্রিংপের পরিবর্তে '# listp', কারণ আপনি স্ট্রিংয়ের তালিকায় বারটি সেট করছেন।
InHarmsWay
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.