Запустит нового участника emacs.
Я использую emacs 23.1.1 на Ubuntu с стартовый комплект emacs. В основном я работаю в режиме lua (установлен с package-install lua-mode).
Мне нужно настроить, как работает отступ, поэтому он будет соответствовать моим правилам кодирования.
Руководящие принципы:
- вкладка к пространствам;
- два пробела на отступ;
- 80 символов на строку, без конечных пробелов.
Пример:
local foo = function()
print("Hello, world!")
end
Что я получаю с emacs, если я не пытаюсь бороться с его автоматическим отступом:
local foo = function()
print("Hello, world")
end
Update:
(Это относится к комментарию, но поскольку для его форматирования требуется дополнительное форматирование, я должен разместить его здесь.)
Если я попробую решение Томаса, я получаю следующее:
local foo = function()
print("Hello, world")
end
Обратите внимание, что end имеет отступ с вкладкой и четырьмя пробелами.
Не работает...
Обновление 2:
Эта вещь также отбрасывается неверно:
local bar = foo(
"one",
"two",
baz(), -- Note three spaces
"quo"
)
Это должно быть:
local bar = foo(
"one",
"two",
baz(),
"quo"
)
Обновление 3:
Третий случай неправильного отступа:
local bar = foo(
"one",
"two"
)
local t = 5 -- This line should not be indented,
-- also note tab between local and t.
Обновление 4:
Вот что я получаю от текущей версии от Thomas:
local foo = function()
print("Hello, world")
end
local bar = 5 -- Emacs put \t before 5
local zzz = foo( -- Emacs put \t before foo
"one", -- Pressed TAB here twice
"two",
three(),
"four"
)
За исключением случаев, когда явно указано, я ничего не делал для отступов, только набрал код и нажал RETURN в конце каждой строки. Я действительно не вводил никаких комментариев.
Он должен выглядеть следующим образом:
local foo = function()
print("Hello, world")
end
local bar = 5
local zzz = foo(
"one",
"two",
three(),
"four"
)
Обновление 5:
Еще один неправильный случай отступов:
local foo =
{
bar(); -- Did press a TAB here, but closing brace killed it
baz;
}
Должно быть:
local foo =
{
bar();
baz;
}
Обновление 6:
Для полноты, вот что я получаю от текущего Git HEAD lua-mode без настройки конфигурации Thomas:
local foo = function()
print("Hello, world!")
end
local bar = 5
local foo = bar(
bar,
baz(),
quo(),
aaa
)
local t =
{
"one",
two(),
}
С настройкой:
local foo = function()
print("Hello, world!")
end
local bar = 5
local foo = bar(
bar,
baz(),
quo(),
aaa
)
local t =
{
"one",
two(),
}
Чтобы соответствовать моим правилам кодирования, он должен выглядеть следующим образом:
local foo = function()
print("Hello, world!")
end
local bar = 5
local foo = bar(
bar,
baz(),
quo(),
aaa
)
local t =
{
"one",
two(),
}