D on Slashdot

Kagamin via Digitalmars-d digitalmars-d at puremagic.com
Thu Jan 22 00:29:57 PST 2015


On Wednesday, 21 January 2015 at 16:34:26 UTC, ketmar via 
Digitalmars-d wrote:
>> >> > i even knew how to quit vi
>> >> ctrl-c?
>> > nope! it beeps. ;-)
>> Duh! Don't console programs know, what ctrl-c is for?
> somehow i can't close cmd.exe by hitting ctrl+c. don't console 
> programs
> know what ctrl+c is for?

Well, maybe because it's a shell, not a utility?

>> Windows console does it elegantly without telepathy: it rolls 
>> through the list of ambiguous names.
> this is the worst thing one can do with autocompletion. there 
> is no
> single visual clue about where it hit the wall. it just 
> continues to
> spit some filenames when i press "tab", replacing the current 
> one. shit!
> is it broken or what?

It fills in file names which match what you typed, this is 
exactly what autocompletion is for. What's so difficult to 
understand there?

>> >> And in quotes
>> > quotes are used for preventing autocompletion. ;-)
>> 
>> AFAIK quotes are supposed to treat a string with spaces as a 
>> single argument. I don't see, how this is related to 
>> autocompletion.
> nope. you are wrong. quotes mark "literal values". there is no 
> sense to
> autocomplete literals, as they essentially not filenames. they 
> are
> *literals*.

Literal means just a value typed in directly instead of being 
taken from a variable, that's all to it. If you really don't want 
to autocomplete quoted literals, just don't do it, shouldn't be 
difficult, after all, unquoted literals may be not meant to be 
autocompleted either, so there should be no difference.

>> >> escaped paths are ugly.
>> > just don't use paths that needs escaping. ;-)
>> OK, but that's a weak excuse for an ugly interface. In my 
>> experience quotes work just fine in place of escaping.
> using a wrong thing to do something may be handy, but this is 
> still
> using a wrong thing.

Bash docs indicate escaping and quoting serve the same purpose 
with different syntax:
http://man7.org/linux/man-pages/man1/bash.1.html#QUOTING
>Quoting is used to remove the special meaning of certain 
>characters
>or words to the shell.  Quoting can be used to disable special
>treatment for special characters, to prevent reserved words from
>being recognized as such, and to prevent parameter expansion.
>There are three quoting mechanisms: the escape character, single
>quotes, and double quotes.
>A non-quoted backslash (\) is the escape character.  It 
>preserves the
>literal value of the next character that follows, with the 
>exception
So yeah, escaping is for literals too, if you like them so much. 
And not a single word about file names and changing meaning of a 
literal, you made it up. If you care about linux, learn it, 
ignorance won't do you any good.

>> I mean autocomplete without typing a single character. The 
>> system may have no way to type some characters, rolling 
>> autocompletion really helps in this case.
> how can you autocomplete without typing?

As usual - by putting a file name from ambiguity list, which 
consists of all files in the current directory in this case.

> what awkward UI does that and why?

As I explained, the file can start with a difficult to type 
character, requiring to type it is unnecessarily daunting.


More information about the Digitalmars-d mailing list