読者です 読者をやめる 読者になる 読者になる

ichiroc subset

書きながら考える・考えをまとめる場所

auto-complete-mode でメジャーモード毎の辞書を設定する

Emacs

背景

  • Lotus Script を記述する事がたまに有るが、Emacs だと補完がされない。
  • Lotus Script は vbnet-mode を利用して記述している。
  • 合わせて vbscript のキーワードも追加したい。

方法

ディレクトリ ac-dictionary-directories にモード毎に辞書が配置出来る。 公式サイトによると下記のようにある。

このディレクトリにはc++-modeのようなメジャーモードのための辞書ファイルやtxtのような拡張子のための辞書ファイルが格納されています。 例えばa.cppというバッファで辞書による補完を利用する場合、上記の設定を前提にすれば、~/.emacs.d/ac-dict/c++-modeと ~/.emacs.d/ac-dict/cppから辞書が読み込まれます。

つまり ac-dictionary-directories のディレクトリにモード名、もしくは拡張子でテキストファイルを作成して、キーワードを書けば良い。

設定

#自分の環境
cd ~/.emacs.d/dict/auto-complete/
emacs vbnet-mode

下記のリストを追加

vbscript のキーワード、Lotus Script のクラスを追加

Add
Aggregate
And
App
AppActivate
Application
Array
As
Asc
AscB
Atn
Attribute
Beep
Begin
BeginTrans
Boolean
ByVal
ByRef
Catch
CBool
CByte
CCur
CDate
CDbl
CInt
CLng
CSng
CStr
CVErr
CVar
Call
Case
ChDir
ChDrive
Character
Choose
Chr
ChrB
Class
Clipboard
Close
Collection
Command
CommitTrans
CompactDatabase
Component
Components
Const
Container
Containers
Cos
CreateDatabase
CreateObject
CurDir
Currency
DBEngine
DDB
Data
Database
Databases
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Debug
Declare
Deftype
DeleteSetting
Dim
Dir
Do
DoEvents
Domain
Double
Dynaset
EOF
Each
Else
End
EndProperty
Enum
Environ
Erase
Err
Error
Exit
Exp
FV
False
Field
Fields
FileAttr
FileCopy
FileDateTime
FileLen
Fix
Font
Forall
For
Form
FormTemplate
Format
Forms
FreeFile
FreeLocks
Friend
Function
Get
GetAllSettings
GetAttr
GetObject
GetSetting
Global
GoSub
GoTo
Group
Groups
Hex
Hour
IIf
IMEStatus
IPmt
IRR
If
Implements
InStr
Input
Int
Integer
Is
IsArray
IsDate
IsEmpty
IsError
IsMissing
IsNull
IsNumeric
IsObject
Kill
LBound
LCase
LOF
LSet
LTrim
Left
Len
Let
Like
Line
Load
LoadPicture
LoadResData
LoadResPicture
LoadResString
Loc
Lock
Log
Long
Loop
MDIForm
MIRR
Me
MenuItems
MenuLine
Mid
Minute
MkDir
Month
MsgBox
NPV
NPer
Name
New
Next
Not
Now
Nothing
Object
Oct
On
Open
OpenDatabase
Operator
Option
Optional
Or
PPmt
PV
Parameter
Parameters
Partition
Picture
Pmt
Print
Printer
Printers
Private
ProjectTemplate
Property
Properties
Public
Put
QBColor
QueryDef
QueryDefs
RSet
RTrim
Randomize
Rate
ReDim
Recordset
Recordsets
RegisterDatabase
Relation
Relations
Rem
RepairDatabase
Reset
Resume
Return
Right
RmDir
Rnd
Rollback
RowBuffer
SLN
SYD
SavePicture
SaveSetting
Screen
Second
Seek
SelBookmarks
Select
SelectedComponents
SendKeys
Set
SetAttr
SetDataAccessOption
SetDefaultWorkspace
Sgn
Shell
Sin
Single
Snapshot
Space
Spc
Sqr
Static
Step
Stop
Str
StrComp
StrConv
String
Sub
SubMenu
Switch
Tab
Table
TableDef
TableDefs
Tan
Then
Time
TimeSerial
TimeValue
Timer
To
Trim
True
Try
Type
TypeName
UBound
UCase
Unload
Unlock
Using
Val
Variant
VarType
Verb
Weekday
Wend
While
Width
With
Workspace
Workspaces
Write
Year
NotInheritable
Shared
OrElse
Overridable
WithEvents
Finally
Imports
Compare
Handles
Of
Module
NotesACL
NotesACLEntry
NotesAdministrationProcess
NotesAgent
NotesAppletContext
NotesColorObject
NotesDatabase
NotesDateRange
NotesDateTime
NotesDbDirectory
NotesDocument
NotesDocumentCollection
NotesDOMAttributeNode
NotesDOMCDATASectionNode
NotesDOMCharacterDataNode
NotesDOMCommentNode
NotesDOMDocumentFragmentNode
NotesDOMDocumentNode
NotesDOMDocumentTypeNode
NotesDOMElementNode
NotesDOMEntityNode
NotesDOMEntityReferenceNode
NotesDOMNamedNodeMap
NotesDOMNode
NotesDOMNodeList
NotesDOMNotationNode
NotesDOMParser
NotesDOMProcessingInstructionNode
NotesDOMTextNode
NotesDOMXMLDeclNode
NotesDXLExporter
NotesDXLImporter
NotesEmbeddedObject
NotesErrorとNotesException
NotesFactory
NotesForm
NotesInternational
NotesItem
NotesLog
NotesMIMEEntity
NotesMIMEHeader
NotesName
NotesNewsletter
NotesNoteCollection
NotesOutline
NotesOutlineEntry
NotesRegistration
NotesReplication
NotesReplicationEntry
NotesRichTextDocLink
NotesRichTextItem
NotesRichTextNavigator
NotesRichTextParagraphStyle
NotesRichTextRange
NotesRichTextSection
NotesRichTextStyle
NotesRichTextTab
NotesRichTextTable
NotesSAXAttributeList
NotesSAXException
NotesSAXParser
NotesSession
NotesStream
NotesThread
NotesTimer
NotesUIDatabase
NotesUIDocument
NotesUIScheduler
NotesUIView
NotesUIWorkspace
NotesView
NotesViewColumn
NotesViewEntry
NotesViewEntryCollection
NotesViewNavigator
NotesXMLProcessor
NotesXSLTransformer

キャッシュを削除で次回から反映

M-x ac-clear-dictionary-cache

参考

Auto Complete Modeユーザーマニュアル - 5.6.2. メジャーモード辞書・拡張子辞 書